golang版本管理

GitHub - voidint/g: Golang Version Manager

g是一个Linux、macOS、Windows下的命令行工具,可以提供一个便捷的多版本go环境的管理和切换

特性

  • 支持列出可供安装的go版本号
  • 支持列出已安装的go版本号
  • 支持在本地安装多个go版本
  • 支持卸载已安装的go版本
  • 支持在已安装的go版本之间自由切换

设置环境变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 由于国内无法自由访问Golang官网,导致查询及下载go版本都变得困难,因此可以通过该环境变量指定一个镜像站点。
# https://studygolang.com/dl
G_MIRROR=https://golang.google.cn/dl/

# 自定义golang安装目录
G_EXPERIMENTAL=true

# 设置g的工作目录
G_HOME=f:\gvm

# golang软连接
GOROOT=%G_HOME%\go

#bin src pkg
GOPATH=%G_HOME%\gopath

# go install github.com/voidint/g@v1.2.1
# 添加 GOROOT\bin(go命令所在位置) 和 g.exe(方便在命令行中使用g命令) 的路径
PATH=%GOROOT%\bin;%GOPATH%\bin

使用

不管是CMD、还是powershell,都要以管理员身份运行。不然,会出现【Symlink…A required privilege is not held by the client.】,就是无权创建软链,导致GOROOT指向的go目录不存在。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#查询已安装的go版本
g ls

#查询可供安装的所有go版本
g ls-remote

#查询当前可供安装的stable状态的go版本
g ls-remote stable

#安装目标go版本1.14.6
g install 1.14.6

#切换至1.14.6版本
g use 1.14.6

#卸载一个已安装的go版本
g uninstall 1.14.6