是否因为本地版本和项目版本不一致导致依赖老是无法正确下载?是否因为在本地安装了多个版本的go缺苦于版本管理太过麻烦?现在有个超棒的工具可以解决以上所有令人头疼的问题,那就是寄!
啊啊别走,不皮了。不过这个工具的名字确实是g(就是这么简单),其主要的实现原理就是符号链接
关于符号链接:
仓库地址:https://github.com/voidint/g
头图来源:Orange-杉87-pixiv
安装
自动化安装
linux or macos
# 建议安装前清空`GOROOT`、`GOBIN`等环境变量
$ curl -sSL https://raw.githubusercontent.com/voidint/g/master/install.sh | bash
$ echo "unalias g" >> ~/.bashrc # 可选。若其他程序(如'git')使用了'g'作为别名。
$ source ~/.bashrc # 或者 source ~/.zshrc
windows(仅支持Windows Vista及以上版本)
可在release中下载已编译的二进制文件然后设置一下环境变量(具体过程略)
使用
查询当前可供安装的stable状态的go版本
$ g ls-remote stable
1.13.15
1.14.7
安装目标go版本(以v1.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版本
前面带星号的版本为本地当前的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
其他一些设定
由于GFW的缘故可能会导致go版本下载不下来,可以通过G_MIRROR这一环境变量指定一个镜像站点(如:https://golang.google.cn/dl/),g则将会通过这一环境变量指定的站点来下载你需要的go版本