在 CentOS 上“修复” Golang 环境,通常分为 确认问题 → 清理旧环境 → 重新安装 → 配置环境变量 几个步骤。下面按常见场景给你一套通用修复方案。
go version
command not found 或 版本异常which go
常见路径:
/usr/local/go/bin/go/usr/bin/go如果你之前是 手动安装 的:
sudo rm -rf /usr/local/go
sudo yum remove golang -y
编辑配置文件:
vim ~/.bashrc
# 或
vim ~/.bash_profile
# 或
vim /etc/profile
删除类似内容:
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
然后:
source ~/.bashrc
cd /tmp
wget https://go.dev/dl/go1.22.4.linux-amd64.tar.gz
版本号可到 https://go.dev/dl/ 查看
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.22.4.linux-amd64.tar.gz
echo 'export GOROOT=/usr/local/go' >> ~/.bashrc
echo 'export GOPATH=$HOME/go' >> ~/.bashrc
echo 'export PATH=$PATH:$GOROOT/bin:$GOPATH/bin' >> ~/.bashrc
source ~/.bashrc
go version
go env
sudo yum install golang -y
检查:
go version
⚠️ CentOS 7 仓库中 Golang 版本通常较老(1.17 左右)
go: command not found✅ 原因:PATH 没包含 /usr/local/go/bin
修复:
export PATH=$PATH:/usr/local/go/bin
GOPATH 或 GOROOT 混乱✅ 推荐设置:
GOROOT=/usr/local/go
GOPATH=$HOME/go
查看当前值:
go env GOROOT GOPATH
国内建议设置代理:
go env -w GOPROXY=https://goproxy.cn,direct
go env -w GOSUMDB=off
which -a go
删除多余版本:
sudo rm -f /usr/bin/go
go version
go env
go mod init test
sudo yum remove golang -y
sudo rm -rf /usr/local/go
rm -rf ~/go
然后按 三、方案一 重新安装 ✅
如果你愿意,可以把以下信息发我,我可以精准定位问题:
cat /etc/os-release
go version
go env
which go
或者告诉我:
yum 安装的还是手动安装的?