在 CentOS 上配置 Golang 失败,常见原因主要集中在 环境变量、架构匹配、权限、软件源 这几类。下面按「最常见 → 较少见」给你一个排查清单,基本能覆盖 90% 的情况。
假设你解压在 /usr/local/go:
# 编辑配置文件
vim ~/.bashrc
# 或 ~/.bash_profile(CentOS 默认登录 shell)
加入:
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
然后:
source ~/.bashrc
验证:
go version
❌ 常见错误:
/etc/profile,但用的是非登录 shellsourceGOROOT 写成 /usr/local/go/(多斜杠)uname -m
x86_64 → 下载 amd64aarch64 → 下载 arm64❌ 错误示例:
amd64CentOS 可能通过 yum 装了老 go:
which go
rpm -qa | grep golang
如果有:
sudo yum remove golang
再使用你手动安装的版本。
如果你不是 root:
sudo tar -C /usr/local -xzf go*.tar.gz
否则会解压失败或无法执行 go。
getenforce
如果是 Enforcing,可能拦截:
sudo setenforce 0
(生产环境不建议长期关闭)
sudo yum install golang
但版本很老(通常 1.13 左右)
sudo dnf install golang
如果失败,可能是:
✅ 推荐:直接官方 tar 包安装
go env -w GOPROXY=https://proxy.golang.org,direct
# 国内推荐
go env -w GOPROXY=https://goproxy.cn,direct
如果你愿意,把下面信息贴出来:
cat /etc/centos-release)go version 输出echo $PATH我可以直接告诉你 是哪一步错了,怎么改。