在 Ubuntu 上编译 Go(Golang)程序,依赖可以分为两类:编译 Go 工具链本身 和 编译 Go 程序(你的代码)。
如果你只是用已安装的 go 命令编译自己的 Go 代码:
sudo apt update
sudo apt install -y golang-go
或安装官方版本(推荐):
wget https://go.dev/dl/go1.22.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.linux-amd64.tar.gz
✅ 一般不需要额外系统依赖
go build main.go
如果你的代码或依赖中使用了:
import "C"
或依赖:
那就需要 C 编译器和系统库
sudo apt install -y \
build-essential \
gcc \
libc6-dev
常见额外库(按需要):
libssl-dev
libsqlite3-dev
zlib1g-dev
不需要额外依赖,但要指定环境变量:
GOOS=windows GOARCH=amd64 go build
GOOS=linux GOARCH=arm64 go build
✅ 不需要目标平台系统库
如果你想自己编译 Go 源码:
sudo apt install -y \
git \
gcc \
make \
bison
然后:
git clone https://go.googlesource.com/go
cd go/src
./make.bash
| 场景 | 是否需要系统依赖 |
|---|---|
| 纯 Go 程序 | ❌ 不需要 |
| 使用 CGO | ✅ gcc + 开发库 |
| 交叉编译 | ❌ 不需要 |
| 编译 Go 源码 | ✅ 编译工具链 |
如果你能说明:
我可以给你更精确的依赖清单。