你问的「怎样解决 Ubuntu Golang 编译问题」比较宽泛,我先给你一个常见问题的通用排查与解决思路,如果你有具体的报错信息,可以贴出来,我可以更精准帮你。
go version
如果没有安装或版本很旧:
sudo apt remove 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
command not found: gocannot find packagecannot find package "xxx"
解决:
go mod init projectname
go get xxx
或启用模块:
export GO111MODULE=on
设置代理:
go env -w GOPROXY=https://goproxy.cn,direct
查看:
go env GOPROXY
permission denied不要用 sudo go build
确保:
sudo chown -R $USER:$USER $GOPATH
cgo: C compiler "gcc" not found
安装:
sudo apt update
sudo apt install build-essential
例如:
GOOS=linux GOARCH=arm64 go build
cd your_project
go mod init demo
go mod tidy
go build
./demo
go version 正常GOPROXY 已设置go modsudo gobuild-essential如果你能贴出具体的报错信息(哪怕一段),我可以直接告诉你是哪一步出问题、怎么改。