在 CentOS 上切换 Golang(Go)版本,常见有几种方式,按推荐程度从高到低说明。你可以根据当前环境选择。
go install(官方方式,适合 1.17+)例如安装 Go 1.21.5:
go install golang.org/dl/go1.21.5@latest
如果没有 go 命令,先装一个基础 Go(如 1.20):
yum install golang -y
go1.21.5 download
临时使用:
go1.21.5 version
长期切换(推荐):
ln -sf $(go env GOPATH)/bin/go1.21.5 /usr/local/bin/go
ln -sf $(go env GOPATH)/bin/go1.21.5 /usr/local/bin/gofmt
验证:
go version
✅ 优点
cd /usr/local
wget https://go.dev/dl/go1.21.5.linux-amd64.tar.gz
rm -rf go
tar -xzf go1.21.5.linux-amd64.tar.gz
编辑:
vim /etc/profile
添加:
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$GOROOT/bin:$GOPATH/bin:$PATH
生效:
source /etc/profile
只需要替换 /usr/local/go 目录即可,例如:
wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
rm -rf /usr/local/go
tar -xzf go1.22.0.linux-amd64.tar.gz -C /usr/local
✅ 优点
update-alternatives(不推荐)CentOS 并不原生支持 Go 的多版本切换(不像 Java),可以手动造假:
update-alternatives --install /usr/bin/go go /usr/local/go1.21.5/bin/go 1
update-alternatives --install /usr/bin/go go /usr/local/go1.22.0/bin/go 2
切换:
update-alternatives --config go
⚠️ 缺点
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
安装并切换:
gvm install go1.21.5
gvm use go1.21.5 --default
⚠️ 缺点
| 场景 | 推荐方式 |
|---|---|
| 生产服务器 | 手动安装 + 替换 GOROOT |
| 开发环境 | go install golang.org/dl/goX.X.X |
| 多项目切换 | go install |
| 不推荐 | update-alternatives |
如果你愿意,可以告诉我:
我可以给你一条最合适、一步到位的命令方案。