在 Debian 上编译 Go(无论是编译 Go 程序还是从源码编译 Go 工具链)时报错,原因通常集中在以下几类。下面按常见场景给你一个排查清单。
go: command not found原因:没装 Go 或 PATH 没配置好
解决:
sudo apt update
sudo apt install golang-go
# 或安装新版
sudo apt install golang-1.21
然后:
export PATH=$PATH:/usr/lib/go-1.21/bin
cannot find package "xxx"原因:
解决(推荐 Modules):
go mod init myproject
go mod tidy
gcc: error: ...原因:缺少 C 编译器(CGO 启用时)
解决:
sudo apt install build-essential
CGO_ENABLED=1 报错原因:用了 CGO 但没装依赖库
解决:
CGO_ENABLED=0 go build
或安装对应 -dev 包。
bash: make.bash: No such file原因:下载的是二进制包而不是源码
解决:
git clone https://go.googlesource.com/go
cd go/src
./make.bash
bootstrap error原因:系统 Go 版本过低
解决:
原因:低配 VPS
解决:
export GOMAXPROCS=1
或加 swap。
某些库不支持,需要:
GOARCH=arm64 go build
请贴出完整报错信息,我可以精准判断,例如:
go build 报错还是 make.bash 报错cat /etc/os-release)如果你愿意,直接把报错原文发出来,我帮你逐行分析。