Ubuntu 下用 Golang 打包(编译)报错,原因有很多种,常见情况如下,你可以对照排查:
如果用了 net、sqlite、opencv 等依赖 C 的库:
报错类似:
cannot find -lxxx
gcc: command not found
✅ 解决:
sudo apt update
sudo apt install gcc libc6-dev
如果不需要 CGO:
CGO_ENABLED=0 go build
例如:
GOOS=windows go build
报错:
exec: "x86_64-w64-mingw32-gcc": executable file not found
✅ 解决:
sudo apt install gcc-mingw-w64
或
CGO_ENABLED=0 GOOS=windows go build
Ubuntu 自带 Go 经常很旧:
go version
✅ 建议安装官方版本:
sudo rm -rf /usr/local/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 -o /usr/local/bin/xxx
✅ 解决:
sudo go build -o /usr/local/bin/xxx
或输出到当前目录。
报错:
go: cannot find main module
✅ 解决:
go mod init projectname
go mod tidy
报错:
undefined reference to 'SSL_xxx'
✅ 解决:
sudo apt install libssl-dev
如果你愿意,可以贴出:
go build / go install)go version我可以帮你精确定位并给可直接复制的命令。