温馨提示×

CentOS怎么切换Golang版本

小樊
42
2026-08-29 15:53:40
栏目: 编程语言

CentOS 上切换 Golang(Go)版本,常见有几种方式,按推荐程度从高到低说明。你可以根据当前环境选择。


✅ 推荐方式一:使用 go install(官方方式,适合 1.17+)

1️⃣ 安装指定版本

例如安装 Go 1.21.5

go install golang.org/dl/go1.21.5@latest

如果没有 go 命令,先装一个基础 Go(如 1.20):

yum install golang -y

2️⃣ 下载并切换版本

go1.21.5 download

3️⃣ 使用指定版本

临时使用:

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

优点

  • 官方支持
  • 可同时保留多个版本
  • 切换方便

✅ 推荐方式二:手动安装(最常用、最稳定)

1️⃣ 下载指定版本

cd /usr/local
wget https://go.dev/dl/go1.21.5.linux-amd64.tar.gz

2️⃣ 解压

rm -rf go
tar -xzf go1.21.5.linux-amd64.tar.gz

3️⃣ 配置环境变量

编辑:

vim /etc/profile

添加:

export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$GOROOT/bin:$GOPATH/bin:$PATH

生效:

source /etc/profile

4️⃣ 切换版本

只需要替换 /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

⚠️ 缺点

  • 容易破坏 PATH
  • 非官方推荐

✅ 方式四:使用 GVM(适合开发机)

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

⚠️ 缺点

  • 依赖多
  • 在 CentOS 上容易报编译错误

✅ 推荐总结

场景 推荐方式
生产服务器 手动安装 + 替换 GOROOT
开发环境 go install golang.org/dl/goX.X.X
多项目切换 go install
不推荐 update-alternatives

如果你愿意,可以告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 当前 Go 版本
  • 服务器还是开发机

我可以给你一条最合适、一步到位的命令方案。

0