go 版本管理工具 gvm
下载地址
安装包下载地址(随便选一个能访问的下载,区别在于命令行中使用gvm,还是g)
win 平台
1.gitee上的gvm:gvm 发行版 - Gitee.com
2.github上的g:Releases · voidint/g · GitHub
上面这个是同一个作者
mac 平台
https://github.com/moovweb/gvm (选这个星星多的更靠谱,别人是源码编译,需要先安装go环境)就是安装的这个
这次是win平台
安装包下载
下载后解压出来只有一个exe文件,把它放在一个单独的目录,我这里是D:\g\g.exe
配置环境变量
下面开始配置环境变量,都以g为演示(gvm操作步骤一样,目录名有变化)。
快捷命令sysdm.cp
l打开环境变量配置,增加如下几个【系统变量】:
win + R => sysdm.cpl
# 配置下G_MIRROR,为了下载go的时候不FQ
G_MIRROR=https://golang.google.cn/dl/
G_HOME=C:\Users\(当前登录windows的用户目录)\(g/gvm工作目录)
示例:g -> G_HOME=C:\Users\1\.g
gvm -> G_HOME=C:\Users\1\.gvm
# 配置GOROOT,这个指向g/gvm工作目录下的go
# gvm安装go版本后,会在这个路径下建立一个软链到versions目录下的指定版本
# 靠这个方法来控制当前的go版本,如果安装g/gvm之前已经安装过go了,需要修改GOROOT这个环境变量
GOROOT=%G_HOME%\go
编辑系统变量中的【PATH】变量,增加一行【D:\g\】和一行【%GOROOT%\bin】,如下图
添加【D:\g\】 是为了在命令行工具中,全局使用g/gvm
添加【%GOROOT%\bin】是为了全局使用go命令
如果之前设置过 go 的环境变量,需要先删除
测试
这里比较重要的一步,【以管理员身份运行命令行工具】
不管是CMD、还是powershell,都要以管理员身份运行!!!
不然,会出现【Symlink....A required privilege is not held by the client.】
就是无权创建软链,导致GOROOT指向的go目录不存在。
执行命令
g install 1.11.2
等待一会儿,看到显示Installed successfully,表示安装成功
执行命令验证安装,显示具体go版本表示go安装成功
go version
使用
查询当前可供安装的stable
状态的go版本
$ g ls-remote stable
1.13.15
1.14.7
安装目标go版本1.14.7
$ g install 1.14.7
Downloading 100% |███████████████| (119/119 MB, 9.939 MB/s) [12s:0s]
Computing checksum with SHA256
Checksums matched
Now using go1.14.7
查询已安装的go版本
$ g ls
1.7.6
1.11.13
1.12.17
1.13.15
1.14.6
* 1.14.7
查询可供安装的所有go版本
$ g ls-remote
1
1.2.2
1.3
1.3.1
... // 省略若干版本
1.14.5
1.14.6
* 1.14.7
1.15rc1
切换到另一个已安装的go版本
$ g use 1.14.6
go version go1.14.6 darwin/amd64
卸载一个已安装的go版本
$ g uninstall 1.14.7
Uninstalled go1.14.7
更新 g 软件本身
$ g update
A new version of g(v1.2.2) is available
Downloading 100% |███████████████| (3.7/3.7 MB, 2.358 MB/s)
Computing checksum with SHA256
Checksums matched
Update completed