在 Ubuntu 下用 Golang 编译出错,可以按下面思路一步步排查和解决:
先别急着改,认真看终端输出的报错,常见几类:
说明 Go 没装或环境变量没配好
go version
如果提示找不到命令:
sudo apt update
sudo apt install golang-go
或安装官方版本(推荐):
wget https://go.dev/dl/go1.22.5.linux-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz
然后配置环境变量(~/.bashrc 或 ~/.zshrc):
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
source ~/.bashrc
说明 依赖没下载
go mod tidy
或
go get xxx
如果是老项目:
go mod init 项目名
go mod tidy
常见于:
sudo go build✅ 正确做法:
sudo chown -R $USER:$USER $GOPATH
不要用 sudo 编译 Go 项目
go env -w GOPROXY=https://goproxy.cn,direct
一般是交叉编译写错:
GOOS=linux GOARCH=amd64 go build
Ubuntu apt 的 go 很旧,建议用官方版本。
go clean -modcache
go mod tidy
go build
你可以直接把 完整的报错信息贴出来(复制终端内容),例如:
# command-line-arguments
./main.go:10:2: undefined: xxx
我可以一步一步告诉你怎么改 ✅
你现在是哪种错误?