在 Ubuntu 下用 Golang 编译报错,原因有很多种,下面我按最常见的情况给你梳理一下,你可以对号入座,也可以把具体报错信息贴出来,我帮你精确定位。
go: command not found原因:没装 Go,或没配置 PATH
解决:
go version
如果报错:
sudo apt update
sudo apt install golang-go
或装官方版本(推荐):
wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz
然后:
export PATH=$PATH:/usr/local/go/bin
cannot find package "xxx"原因:
go mod init解决(推荐 Go Modules):
go mod init projectname
go mod tidy
go build
go: go.mod file not found原因:在错误目录执行了 go build
解决:
cd 你的项目目录
ls go.mod
permission denied原因:
/usr/local解决:
sudo chown -R $USER:$USER ~/go
undefined: xxx原因:
例如:
cannot find -lxxx
解决:
sudo apt install build-essential
sudo apt install libxxx-dev
例如:
exec format error
原因:在 ARM 上跑 AMD64 程序
请告诉我:
go versiongo modmkdir demo && cd demo
go mod init demo
go build
如果你愿意,直接把报错贴出来,我可以一行一行帮你分析 ✅