在 CentOS 上配置 Golang 失败,常见原因其实就那么几类。我按最常见 → 较少见给你梳理,并给出可照抄的检查步骤,你可以逐条对一下。
CentOS 常见是 x86_64,但有人下成:
arm64386✅ 正确示例(CentOS 7/8/Stream):
wget https://go.dev/dl/go1.22.5.linux-amd64.tar.gz
检查:
uname -m
# 应该是 x86_64
❌ 错误:
tar -xzf go1.22.5.linux-amd64.tar.gz
(解到了当前目录,但没放到 /usr/local)
✅ 正确:
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz
很多人只改了 ~/.bashrc,但:
zshsudo 下执行✅ 推荐写法(CentOS 通用):
# 编辑
vi ~/.bashrc
# 加入
export GOPATH=$HOME/go
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
然后:
source ~/.bashrc
验证:
which go
go version
检查:
ldd --version
如果 glibc < 2.17,建议:
getenforce
如果是 Enforcing,可临时测试:
sudo setenforce 0
国内服务器常见:
go env -w GOPROXY=https://goproxy.cn,direct
# 1. 下载
cd /tmp
wget https://go.dev/dl/go1.22.5.linux-amd64.tar.gz
# 2. 安装
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz
# 3. 环境变量
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
source ~/.bashrc
# 4. 验证
go version
你可以直接贴:
cat /etc/centos-release)我可以直接告诉你是哪一步错了。