在 CentOS 上配置 Golang 经常“失败”,通常不是 Go 本身的问题,而是环境、路径或版本这几块最容易踩坑。下面按最常见原因 + 解决办法给你梳理一遍。
CentOS 常见情况:
❌ 错误示例:
wget https://go.dev/dl/go1.22.linux-arm64.tar.gz # 在 x86 上用
✅ 正确做法:
uname -m
# x86_64 -> amd64
# aarch64 -> arm64
/usr/local)很多人解压到 ~ 或 /opt,但 PATH 没配好。
✅ 官方标准方式:
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz
export GOROOT=/usr/local/go/bin # ❌ 错
export GOPATH=$HOME/go/bin # ❌ 错
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
CentOS 常见 shell:
✅ bash 用户:
vi ~/.bashrc
# 或
vi /etc/profile
✅ 修改后必须执行:
source ~/.bashrc
否则“配置失败”只是没生效。
说明 PATH 没生效 或 解压失败
检查:
ls /usr/local/go/bin
which go
echo $PATH
CentOS 可能预装旧 Go:
go version
# go1.13(很老)
✅ 建议卸载:
sudo yum remove golang -y
如果你解压到非标准目录:
sudo setenforce 0 # 临时关闭测试
国内服务器常见:
go env -w GOPROXY=https://goproxy.cn,direct
go env -w GOSUMDB=off
go version
go env GOROOT GOPATH
✅ 正常示例:
go version go1.22.5 linux/amd64
/usr/local/go
/root/go
你可以把下面信息贴出来,我可以精准定位:
cat /etc/centos-release)go env 输出我可以直接给你一份可复制即用的配置。