Golang多版本维护工具-voidint/g

285 阅读1分钟

在使用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则可以使用环境变量配置编辑来设置变量 image.png image.png

使用

列出版本

> 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版本中。