对于 Golang 开发而言,Golang 语言版本的迭代速度是惊人的,几乎每几个月就需要更新一次小版本。对于 Golang 程序员来说,最渴望的特性莫过于 Go 2.0 的新特性,现在 Go 的版本已经是 1.14,相信在不久的将来会盼望到 2.0 的到来。但是 Golang 采用的是逐步迭代小版本,最终演化为最终版本,作为 Golang 程序员需要对每一个小版本的特性进行学习,因此管理 Go 版本的工具是迫在眉睫的问题,现在为大家介绍一个神级版本管理工具。
一、GVM
要介绍一个开源项目为 gvm,在 github 上有5000 star。使用 gvm 不需要在关心下载完新版本的 Go 后,自己还需要手动配置环境变量。
1.安装 gvm
安装 gvm 的前置条件是我们已经有之前的 go 版本,假如你和我是一样的操作系统,可以运行brew install go
先安装一个较老的版本。然后运行下面的 bash 命令。
1 | bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer) |
或者,如果你正在使用的zsh只是改变bash到zsh。
2.命令介绍
运行gvm list
查看已经安装的版本,和当前使用的版本
1 | gvm gos (installed) |
运行gvm listall
命令,查看当前 Go 所有的版本
1 | gvm gos (available) |
运行gvm install go1.14
命令安装当前最新的稳定版本。这里需要注意一下的是最好让 vpn 代理命令行,可以更快的下载 Go
- 让vpn 代理命令行
1 | export all_proxy=socks5://127.0.0.1:1086 |
- 安装 go1.14
1 | ➜ ~ gvm install go1.14 |
安装成功了!
运行go env
查看当前版本信息,看看我们是否已经安装成功。
1 | GO111MODULE="" |
看到环境变量还是原先之前的,没有变化。因为我们还没有使用 go1.14。
运行命令gvm use go1.14
1 | ➜ ~ gvm use go1.14 |
用go env
查看我们是否使用成功。
1 | GOPATH="/Users/zhubowen/.gvm/pkgsets/go1.14/global" |
看到了里面一点变化,这如果不是你想要的,因为我之前的 GOPATH 目录都有已经下好的东西,还有兼容之前版本的项目。
运行命令gvm pkgenv
该命令默认是设置的system空间目录下的环境变量,设置如下:
将我们自己的环境变量往下面假如,覆盖上面的一些配置即可
1 | # go settings |
再次运行go env
运行结果如下:
同时将如下配置写入到 ~/.bash_profile
文件中,让 GVM 开机自启。
1 | # gvm settings |
二、总结
以上就是我对 gvm 的实践。非常简单和实用的工具,gvm 工具可以节省我们很多时间管理和配置 Go 的版本,值得每一个人花费一点小小的时间去学习它。