在 CentOS 上配置 Golang 时常见的报错和对应解决办法如下,你可以按场景对照处理。
go: command not found原因:Golang 未安装或 PATH 未配置
解决:
# 查看是否安装
which go
go version
# 若未安装,下载并安装
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 或 /etc/profile):
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
使配置生效:
source ~/.bashrc
cannot find package / package xxx is not in GOROOT原因:
解决:
go env -w GO111MODULE=on
go mod init projectname
go mod tidy
dial tcp: lookup proxy.golang.org: no such host原因:国内网络无法访问官方代理
解决(配置国内代理):
go env -w GOPROXY=https://goproxy.cn,direct
# 或
go env -w GOPROXY=https://proxy.golang.org,direct
permission denied原因:无写入权限(如 /usr/local/go)
解决:
sudo chown -R $USER:$USER /usr/local/go
# 或安装到用户目录
tar -C $HOME -xzf go*.tar.gz
报错示例:
version 'GLIBC_2.28' not found
解决:
yum install golang
go version # 可能非常旧
建议:
go version
go env GOPATH
go env GOROOT
go env GOPROXY
echo $PATH
请把 具体报错信息 贴出来(完整报错最好),并说明:
cat /etc/centos-release)我可以直接帮你定位到具体原因。