在 Ubuntu 上编译 Go(Golang)程序通常分为 安装 Go 环境 和 编译程序 两部分。下面按常见场景给你说明。
# 下载最新稳定版(示例为 1.22.0,可自行替换)
wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
# 解压到 /usr/local
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz
配置环境变量(写入 ~/.bashrc 或 ~/.zshrc):
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
使配置生效:
source ~/.bashrc
验证:
go version
sudo apt update
sudo apt install golang-go
go version
假设有 main.go:
go build main.go
会生成可执行文件 main
go build -o myapp main.go
go mod init example.com/demo # 第一次需要
go build
GOOS=linux GOARCH=amd64 go build -o app-linux
GOOS=windows GOARCH=amd64 go build -o app.exe
GOOS=darwin GOARCH=arm64 go build -o app-mac
go build -ldflags "-s -w" # 去掉调试信息,减小体积
go build -race # 开启竞态检测(调试用)
./app-linux
确认:
which go
如果为空,说明 PATH 没配置好。
go env -w GOPROXY=https://proxy.golang.com.cn,direct
如果你有 具体项目结构 或 想交叉编译到某个系统,可以贴出来,我可以直接给你命令。