在 Ubuntu 上用 Go 编译出错,先别慌,按下面思路一步步排查,大多数问题都能解决。
编译报错时,完整错误信息一定要看,比如:
command not found: go → 环境变量/没装cannot find package "xxx" → 依赖问题undefined: xxx → 代码或版本问题permission denied → 权限问题go.mod not found → 模块问题你可以把完整报错贴出来,我可以精准帮你分析。
go: command not found说明 Go 没装或没加到 PATH
检查:
go version
安装(推荐官方方式):
sudo rm -rf /usr/local/go
wget https://go.dev/dl/go1.22.5.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz
加到环境变量(~/.bashrc 或 ~/.zshrc):
export PATH=$PATH:/usr/local/go/bin
source ~/.bashrc
老项目(无 go.mod):
go get xxx
新项目(有 go.mod):
go mod tidy
go build
go env -w GOPROXY=https://proxy.golang.com.cn,direct
然后再:
go mod tidy
不要用 sudo go build,而是:
sudo chown -R $USER:$USER $HOME/go
查看:
go version
升级 Go(Ubuntu 自带版本常偏旧):
sudo apt remove golang-go
# 再按上面的官方方式装新版
cd your_project
go mod tidy
go build
./your_binary
请把以下信息发我:
go version)我可以帮你逐行分析错误原因并给具体命令。