可以的,CentOS 上可以同时安装多个版本的 Golang,而且这是很常见的做法。下面给你几种实用且推荐的方案,从简单到更专业。
GOROOT + PATH 切换版本# 下载
wget https://go.dev/dl/go1.20.14.linux-amd64.tar.gz
wget https://go.dev/dl/go1.22.4.linux-amd64.tar.gz
# 解压到不同目录
sudo tar -C /usr/local -xzf go1.20.14.linux-amd64.tar.gz
sudo mv /usr/local/go /usr/local/go1.20
sudo tar -C /usr/local -xzf go1.22.4.linux-amd64.tar.gz
sudo mv /usr/local/go /usr/local/go1.22
export GOROOT=/usr/local/go1.22
export PATH=$GOROOT/bin:$PATH
编辑 ~/.bashrc 或 /etc/profile:
alias go120='export GOROOT=/usr/local/go1.20 && export PATH=$GOROOT/bin:$PATH'
alias go122='export GOROOT=/usr/local/go1.22 && export PATH=$GOROOT/bin:$PATH'
使用:
go120
go version
✅ 优点
go install golang.org/dl/(官方支持)Go 官方提供了多版本管理工具。
go install golang.org/dl/go1.20.14@latest
go install golang.org/dl/go1.22.4@latest
go1.20.14 download
go1.22.4 download
go1.20.14 version
go1.22.4 version
✅ 优点
❌ 缺点
gvm(Go Version Manager,最灵活)类似 nvm 管理 Node.js。
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
gvm install go1.20.14
gvm install go1.22.4
gvm use go1.20.14
gvm use go1.22.4 --default
✅ 优点
❌ 缺点
| 场景 | 推荐方案 |
|---|---|
| 服务器 / CI | ✅ 方案一 |
| 本地开发 | ✅ gvm 或 go install |
| 简单稳定 | ✅ 方案一 |
/usr/local/goGOPATH 可以共用如果你愿意,我可以帮你:
你现在是 开发环境 还是 生产服务器?