在 Ubuntu 上用 Golang 打包(编译)时,常见的“设置”主要集中在环境变量、编译参数、交叉编译、输出位置等几个方面。下面按常见需求给你梳理一下。
在 Ubuntu 终端进入项目目录:
cd your_project
go build
默认会在当前目录生成可执行文件。
go build -o bin/app main.go
查看当前环境:
go env
常用设置方式:
go env -w GOFLAGS="-mod=vendor"
go env -w GOPROXY=https://goproxy.cn,direct
go env -w GO111MODULE=on
或者在 ~/.bashrc / ~/.zshrc 里:
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
例如打包 Linux 64 位:
GOOS=linux GOARCH=amd64 go build -o app
Windows:
GOOS=windows GOARCH=amd64 go build -o app.exe
macOS:
GOOS=darwin GOARCH=arm64 go build -o app
go build -ldflags="-s -w" -o app
配合 upx(可选):
upx app
Ubuntu 常见做法:
build:
go build -o bin/app main.go
linux:
GOOS=linux GOARCH=amd64 go build -o bin/app
windows:
GOOS=windows GOARCH=amd64 go build -o bin/app.exe
使用:
make build
常用工具:
dpkg-debfpm示例(fpm):
fpm -s dir -t deb -n myapp -v 1.0 ./app=/usr/bin/app
snapcraft
sudo apt install golang-go
chmod +x app
CGO_ENABLED=1 go build
如果你说的“打包在哪设置”是指 IDE(VSCode / Goland)里的打包配置,或者 Docker 里打包,可以告诉我具体场景,我给你更精确的配置。