在 CentOS 上配置 Golang 时常见的报错和对应解决方法,我按最常见场景给你整理一下,你可以对照看是哪一种。
go: command not found没有正确安装 Go,或环境变量没配置。
wget https://go.dev/dl/go1.21.5.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.21.5.linux-amd64.tar.gz
~/.bashrc 或 /etc/profile):export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
source ~/.bashrc
go version
cannot find package / package xxx is not in GOROOT$GOPATH/src 下放代码,但没开 module在项目目录执行:
go mod init projectname
go get xxx
或临时关闭 module(不推荐):
go env -w GO111MODULE=off
proxy connect: connection refused(下载依赖慢/失败)CentOS 服务器无法访问 proxy.golang.org
go env -w GOPROXY=https://goproxy.cn,direct
go env -w GOSUMDB=off
permission denied 或 cannot write to /usr/local/go没用 sudo 或目录权限不对
sudo chown -R $USER:$USER /usr/local/go
或安装到用户目录:
tar -C $HOME -xzf go*.tar.gz
glibc / version GLIBC_2.xx not foundCentOS 7 自带 glibc 太老,Go 新版本不支持
go build 报错但本地没问题常见于:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
go env
go version
echo $PATH
如果你方便的话,可以把完整报错信息贴出来(命令行复制即可),我可以直接帮你精准定位是哪一步错了。