在 Ubuntu 上编译 Golang 程序出错,原因很多,需要先看具体报错信息。不过我可以先给你一份常见原因 + 对应解决办法,你可以对照看看。
go version
command not found → Go 没装好sudo apt update
sudo apt install golang-go
或用官方包(更推荐): https://go.dev/dl/
go: command not found原因:Go 没装或 PATH 没配置
解决:
export PATH=$PATH:/usr/local/go/bin
(永久生效可写入 ~/.bashrc)
cannot find package "xxx"原因:依赖没下载
解决:
go mod init your_module
go mod tidy
或(老项目):
go get xxx
missing go.sum entrygo mod download
go mod tidy
报错类似:
gcc: command not found
或
C compiler cannot create executables
原因:用了 CGO,但系统没装 gcc
解决:
sudo apt install build-essential
如果你是纯 Go 项目,也可以禁用 CGO:
CGO_ENABLED=0 go build
比如你在 x86 机器编 ARM 程序:
GOARCH=arm64 GOOS=linux go build
sudo chown -R $USER:$USER your_project
请你把完整报错贴出来,我可以精准判断。
你可以先跑:
go build -x
或
go build -v
然后把红色报错部分发我。
lsb_release -a)go build 还是 go run我可以一步一步帮你排。