在 CentOS 上配置 Golang 失败,原因通常集中在环境变量、架构不匹配、系统版本过旧、或权限问题。下面我按「常见失败原因 → 排查方法 → 正确配置步骤」给你一个可直接对照的清单。
很多人瞎配 /etc/profile,结果:
go install 但 PATH 没包含 bin✅ 正确示例(Go 1.18+):
# Go 官方二进制解压位置
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
# 工作目录(可自定义)
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
⚠️ Go 1.16+ 强烈建议不要手动设 GOPATH
CentOS 常见:
i386 / armamd64检查架构:
uname -m
x86_64 → 下 linux-amd64aarch64 → 下 linux-arm64✅ 推荐版本:
错误示例:
mv go1.21.linux-amd64.tar.gz /usr/local/
# ❌ 没解压
✅ 正确:
tar -C /usr/local -xzf go1.21.linux-amd64.tar.gz
vim /etc/profile
# 改完忘了
source /etc/profile
或用户级:
source ~/.bashrc
cd /tmp
wget https://go.dev/dl/go1.21.5.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.21.5.linux-amd64.tar.gz
cat >> /etc/profile <<'EOF'
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
EOF
source /etc/profile
go version
| 报错 | 原因 | 解决 |
|---|---|---|
go: command not found |
PATH 没配 | 检查 /usr/local/go/bin |
cannot find GOROOT |
路径错 | 不要乱设 GOROOT |
permission denied |
没 root | sudo 或换用户目录 |
too many errors |
网络 | 设置代理 |
module proxy 404 |
国内网络 | 设 GOPROXY |
go env -w GOPROXY=https://goproxy.cn,direct
go env -w GOSUMDB=off
如果你愿意,直接把下面信息发我:
cat /etc/redhat-release)我可以一步一步帮你修到能跑。