Intro
Golang发展迅速,代码迭代非常快,想要调试和梳理项目进程就成了一件相对棘手的事情。偶然间发现了gvm - Go Version Manager,算是找到了调试切换版本的福音。
关于gvm
GVM,类似于ruby 中的RVM,java 中的jenv(国产),可用于方便管理 Go 的版本,它有如下几个主要特性:
管理 Go 的多个版本,包括安装、卸载和指定使用 Go 的某个版本
查看官方所有可用的 Go 版本,同时可以查看本地已安装和默认使用的 Go 版本
管理多个 GOPATH,并可编辑 Go 的环境变量
可将当前目录关联到 GOPATH
可以查看 GOROOT 下的文件差异
Go 版本切换
二进制文件的管理比较简单,通过链接使用不同版本的程序即可,实际上主要是一些环境变量和标准库的设置问题,环境变量主要是 GOPATH 以及 GOROOT,标准库的话需要在切换 go 版本时也能跟着切换。gvm 实际上就是帮助完成这些配置工作。
安装
按照官方文档操作即可
|
|
使用
|
|
Mac下需要这样一把(如果你的环境有问题的话)
|
|
一般常规的操作是
|
|
几点注意
- 在 Linux 下安装 GVM,需要安装相关依赖,详情见官网说明
- GVM 官方显示没对 Windows 做支持,考虑到 Windows 不是程序员的标配吧(有同学回复用 git-windows客户端,自带bash功能,可以自行尝试安装下)。
- GVM 安装新版本之后,Go 环境变量会重新设置,为了节约磁盘空间和时间,建议把之前版本的 GOPATH 内容移动到新版本对应的 GOPATH 目录下,相关路径可以通过 go env 获取
- 在同一版本下,用 gvm pkgset 创建多个 GOPATH,可能会占用你比较大的磁盘空间
- 使用 gvm implode 需谨慎
- GVM 是用 shell 编写