使用g工具可高效管理多版本go,安装后通过g install、g use和g set命令切换或设置默认版本,gvm功能更全面但依赖shell配置,手动方式则需自定义目录并修改GOROOT和PATH环境变量,适合不用第三方工具的场景。

在golang开发中,经常需要在不同项目中使用不同版本的Go。为了灵活管理多个Go版本,可以通过工具或手动方式实现快速切换。以下是几种常见且实用的方法。
使用g工具(推荐)
g 是一个轻量级的Go版本管理工具,安装和使用都非常简单。
- 安装 g:执行命令 go install github.com/voidint/g@latest
- 查看可用版本:运行 g ls
- 安装指定版本:例如 g install 1.20.7
- 切换版本:使用 g use 1.20.7即可切换到对应版本
- 设置全局版本:通过 g set 1.21.0可设为默认版本
该工具会将Go版本安装到独立目录,并自动更新PATH指向当前使用的版本,无需手动配置。
使用gvm(类比node的nvm)
gvm 是Go Version Manager,功能更丰富,适合需要频繁切换版本的开发者。
立即学习“go语言免费学习笔记(深入)”;
- 安装gvm:在终端运行 bash <(cURL -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
- 列出远程版本:执行 gvm listall
- 安装某个版本:如 gvm install go1.19.5
- 使用指定版本:运行 gvm use go1.19.5 --default可设为默认
注意:gvm依赖shell环境变量,确保你的shell配置文件(如.zshrc或.bashrc)已正确加载gvm脚本。
手动管理Go版本
如果你不想使用第三方工具,也可以通过手动方式管理多个Go版本。
- 下载所需版本的Go二进制包,解压到自定义目录,如 /usr/local/go-1.18和/usr/local/go-1.21
- 通过修改 GOROOT和PATH环境变量来切换版本
- 可在shell中设置别名,例如:
alias go118='export GOROOT=/usr/local/go-1.18; export PATH=$GOROOT/bin:$PATH'
 执行 go118 命令即可切换至Go 1.18环境。
验证当前Go版本
无论采用哪种方式,在切换后都可通过以下命令确认当前使用的Go版本:
go version
同时检查 goroot 输出是否正确:go env GOROOT
基本上就这些。选择合适的方式取决于你是否追求自动化和多版本管理的便捷性。对于大多数开发者来说,使用 g 工具是最简单高效的选择。不复杂但容易忽略的是及时清理不再使用的版本,避免占用磁盘空间。


