“Golang 配 CentOS 出错”这个说法比较笼统,我先把最常见的原因和对应解决办法给你梳理一下。如果你能贴出具体的报错信息,我可以更精准地帮你定位。
很多人在 CentOS 上直接:
yum install golang
但 CentOS 自带仓库的 Go 版本很旧,而且有时根本装不上。
✅ 推荐方式(官方二进制):
wget https://go.dev/dl/go1.22.5.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz
然后配置环境变量:
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
CentOS 上默认:
go env GOPROXY
# 可能是 direct
国内网络会失败。
✅ 解决:
go env -w GOPROXY=https://proxy.golang.org,direct
# 或国内
go env -w GOPROXY=https://goproxy.cn,direct
特别是:
✅ 检查:
systemctl status firewalld
getenforce
临时关闭测试:
setenforce 0
systemctl stop firewalld
比如 CentOS 7:
go: /lib64/libc.so.6: version `GLIBC_2.28' not found
✅ 解决:
老项目容易出问题:
go env -w GO111MODULE=on
permission denied
✅ 避免用 root 写 GOPATH:
chown -R $USER:$USER $HOME/go
你可以直接贴:
cat /etc/centos-release)go version)如果你愿意,可以把报错直接发给我,我可以一步一步帮你排。