作者:Meng小羽
内容来源:SegmentFault 思否
在 Go 项目开发中,团队要保持开发版本一致,怎么能够快速的安装及部署并且切换 Go 环境,在这里推荐一款工具 GVM ( Go Version Manager ),它可以便捷切换与自定义 Go Path 、Go Root 等参数,是一款实打实的多版本安装及管理利器。
GVM,类似于ruby 中的 RVM,java 中的 jenv(国产),可用于方便管理 Go 的版本,它有如下几个主要特性:
管理 Go 的多个版本,包括安装、卸载和指定使用 Go 的某个版本;
查看官方所有可用的 Go 版本,同时可以查看本地已安装和默认使用的 Go 版本;
管理多个 GOPATH,并可编辑 Go 的环境变量;
可将当前目录关联到 GOPATH;
可以查看 GOROOT 下的文件差异。
安装 Installing
或者,如果您使用的是zsh,只需使用zsh更改bash。
使用 GVM
使用 gvm 可以查看支持的操作:
Deion:GVM is the Go Version Manager
Commands:version - print the gvm version numberget - gets the latest code (for debugging)use - select a go version to use (--default to set permanently)diff - view changes to Go roothelp - display this usage textimplode - completely remove gvminstall - install go versionsuninstall - uninstall go versionscross - install go cross compilerslinkthis - link this directory into GOPATHlist - list installed go versionslistall - list available versionsalias - manage go version aliasespkgset - manage go packages setspkgenv - edit the environment for a package set
安装 Go 版本
例如安装 go1.13 版本:
查看 Go 版本
gvm gos (installed)
go1.12=> system
管理 Gopath 环境
GVM提供了一个比较简单的工具gvm pkgset可以创建使用GOPATH环境:
* http://github.com/moovweb/gvm== DEION:GVM pkgset is used to manage various Go packages== Usagegvm pkgset Command
== Commandcreate - create a new package setdelete - delete a package setuse - select where gb and goinstall target and linkempty - remove all code and compiled binaries from package setlist - list installed go packages
卸载 Uninstall
卸载某个安装好的 Go 版本:
开源支持
GVM 是一款使用 Shell 脚本实现的便捷工具,作为开源项目,推荐大家给一个 Star 支持。
https://github.com/moovweb/gvm
SegmentFault 思否社区和文章作者展开更多互动和交流。