温馨提示×

centos能多版本配golang吗

小樊
42
2026-09-21 02:47:37
栏目: 编程语言

可以的,CentOS 上完全可以同时安装并管理多个版本的 Golang。下面给你几种常见、可行的方式,从“最推荐”到“最原生”说明。


一、推荐方式:使用版本管理工具(最灵活)

1. gvm(Go Version Manager)✅ 最常用

类似 nvm(Node.js)

安装 gvm

yum install -y git curl
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)

加载环境

source ~/.gvm/scripts/gvm

安装多个 Go 版本

gvm install go1.20.14
gvm install go1.21.10
gvm install go1.22.5

切换版本

gvm use go1.21.10

设置默认版本

gvm use go1.22.5 --default

✅ 优点

  • 多用户/多项目隔离
  • 切换方便
  • 不影响系统环境

2. asdf(通用语言版本管理器)

适合同时管理 Go / Node / Python

git clone https://github.com/asdf-vm/asdf.git ~/.asdf
asdf plugin add golang
asdf install golang 1.21.10
asdf global golang 1.21.10

二、手动方式:多版本并存(适合服务器)

思路

把不同 Go 版本放到不同目录,用软链接切换

/usr/local/go1.20
/usr/local/go1.21
/usr/local/go -> go1.21

使用

export PATH=/usr/local/go/bin:$PATH

切换版本

ln -sfn /usr/local/go1.20 /usr/local/go

✅ 优点:简单、无依赖
❌ 缺点:切换不够优雅


三、容器方式(最干净)

不想污染系统?

docker run -it golang:1.20
docker run -it golang:1.22

或 Docker + Makefile / CI

✅ 推荐用于:

  • 编译环境
  • CI/CD
  • 多版本测试

四、CentOS 注意事项

  1. CentOS 7
    • 默认 glibc 较老
    • Go 1.21+ 仍可用,但建议容器
  2. CentOS 8 / Stream
    • 基本无兼容问题
  3. SELinux
    • 一般不影响 Go

五、总结建议

场景 推荐方式
开发机 gvm / asdf
服务器 手动多目录
编译/测试 Docker
生产 单版本 + 容器

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

  • CentOS 版本(7 / 8 / Stream)
  • 用途(开发 / 服务器 / CI)
  • 是否需要多用户

我可以直接给你一套可复制的命令方案。

0 踩