在 CentOS 上切换 Go(Golang)版本,常见有以下几种方式,按推荐程度由高到低说明。
g 或 goenv(最推荐,类似 nvm)g(简单轻量)g 是类似 nvm 的 Go 版本管理工具。
# 安装 g
bash < <(curl -sSL https://raw.githubusercontent.com/stefanmaric/g/master/install)
或手动安装:
git clone https://github.com/stefanmaric/g.git
sudo mv g /usr/local/bin/
# 查看可安装版本
g list-remote
# 安装指定版本
g install 1.21.5
# 切换版本
g use 1.21.5
# 查看当前版本
go version
✅ 不需要手动改 PATH,自动管理
goenv(更专业,类似 rbenv)适合多用户、长期管理
git clone https://github.com/syndbg/goenv.git ~/.goenv
配置环境变量(~/.bashrc):
export GOENV_ROOT="$HOME/.goenv"
export PATH="$GOENV_ROOT/bin:$PATH"
eval "$(goenv init -)"
重载:
source ~/.bashrc
使用:
goenv install 1.20.0
goenv global 1.20.0
go version
cd /usr/local
sudo rm -rf go
sudo wget https://go.dev/dl/go1.21.5.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.21.5.linux-amd64.tar.gz
vim ~/.bashrc
添加或修改:
export PATH=/usr/local/go/bin:$PATH
source ~/.bashrc
go version
✅ 切换版本 = 重新解压不同版本到 /usr/local/go
例如:
/opt/go1.20/bin/go
/opt/go1.21/bin/go
使用:
export PATH=/opt/go1.21/bin:$PATH
或写 alias:
alias go21='/opt/go1.21/bin/go'
go version 没变?which go
echo $PATH
确认 PATH 顺序正确
go clean -modcache
| 场景 | 推荐 |
|---|---|
| 个人开发 | g |
| 服务器/多用户 | goenv |
| 简单粗暴 | 手动替换 |
如果你告诉我:
我可以给你精确命令。