在使用go语言开发和维护项目时,有时候可能会因为go语言版本的问题导致编译失败,需要使用某个特定的版本;又或者是想尝鲜go语言的新特性,但也想保持旧项目的稳定。这个时候就可以考虑使用voidint/g
来维护本地的go语言的多个版本。
使用脚本安装
Linux
curl -sSL https://raw.githubusercontent.com/voidint/g/master/install.sh | bash
Windows
iwr https://raw.githubusercontent.com/voidint/g/master/install.ps1 -useb | iex
手动安装
前往 github.com/voidint/g/r… 下载编译好的二进制包。
配置
- 创建目录
mkdir ~/.g/bin
- 将下载好的二进制包放入
~/.g/bin
中。 - 然后设置环境变量:
export GOROOT=~/.g/bin/go
export PATH=$PATH:~/.g/bin:$GOROOT
Linux将以上命令写入到 .bash_profile
来永久生效。
Windows则可以使用环境变量配置编辑来设置变量
使用
列出版本
> g ls-remote
1.21.8
1.22rc1
1.22rc2
1.22.0
* 1.22.1
带 * 号为已安装的go版本
安装
> g install 1.22.0
Downloading 100% [===============] (92/92 MB, 12 MB/s)
...
切换版本
//切换到 1.22.0版本
> g use 1.22.0
...
//切换到 1.17.3版本
> g use 1.17.3
卸载go指定版本
> g uninstal 1.22.0
...
原理是使用硬链接将 GOROOT
链接到指定的go版本中。