在 CentOS 上“配置不了 Golang”是一个比较常见的问题,通常不是 Golang 本身有问题,而是环境、权限或配置方式导致的。下面我按常见原因 + 对应解决办法给你系统梳理一下。
GOROOT / GOPATH很多新手装完 Go 后,直接敲 go 命令没反应或报错。
正确做法(以 Go 1.20+ 为例):
# 假设 Go 安装在 /usr/local/go
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
# Go 1.11+ 推荐(不一定必须)
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
写入环境变量(永久生效):
vi ~/.bashrc
# 或
vi /etc/profile
然后:
source ~/.bashrc
验证:
go version
CentOS 服务器常见是 x86_64 或 aarch64
错误示例:
go1.21.linux-arm64.tar.gz 但服务器是 x86✅ 正确查看架构:
uname -m
linux-amd64linux-arm64❌ 常见错误:
tar -xzf go1.21.tar.gz
mv go /usr/local/ # 没权限
✅ 正确方式:
sudo tar -C /usr/local -xzf go1.21.linux-amd64.tar.gz
检查:
ls /usr/local/go/bin
CentOS 7 默认 glibc 2.17
⚠️ 新版本 Go(1.21+)可能报:
version 'GLIBC_2.28' not found
✅ 解决方案:
yum install golang
很多 CentOS 自带的是 Go 1.13 甚至更早,而且路径混乱。
✅ 建议:删掉 yum 的 Go,手动安装官方版本
sudo yum remove golang
# 1. 下载
wget https://go.dev/dl/go1.20.14.linux-amd64.tar.gz
# 2. 解压
sudo tar -C /usr/local -xzf go1.20.14.linux-amd64.tar.gz
# 3. 配置环境变量
echo 'export GOROOT=/usr/local/go' >> ~/.bashrc
echo 'export PATH=$PATH:$GOROOT/bin' >> ~/.bashrc
source ~/.bashrc
# 4. 验证
go version
如果你愿意,把下面信息发我,我可以精准定位:
cat /etc/redhat-release)我可以一步一步带你配好 ✅