Go 语言版本管理器(Gvm)是管理 Go 语言环境的开源工具。Gvm 「pkgsets」 支持安装多个版本的 Go 并管理每个项目的模块。它最初由 Josh Bussdieker 开发,Gvm 与 Ruby RVM 类似,允许你为每个项目或一组项目创建一个开发环境,分离不同的 Go 版本和包依赖关系,来提供更大的灵活性,以防不同版本造成的问题。Gvm 主要有以下几个特性:
Commands: # 打印 Gvm 的版本 version - print the gvm version number # 获取 Gvm 最新的代码 get - gets the latest code (for debugging) # 使用某个go版本,临时生效,加上--default永久生效 use - select a go version to use (--default to set permanently) diff - view changes to Go root help - display this usage text # 彻底删除gvm和安装的所有 go 版本和包 implode - completely remove gvm # 安装某个go的版本 install - install go versions # 卸载某个 go 版本 uninstall - uninstall go versions # 安装交叉编译器,gvm cross [os] [arch],os = linux/darwin/windows,arch = amd64/386/arm cross - install go cross compilers linkthis - link this directory into GOPATH # 列出安装的 Go 版本 list - list installed go versions # 列出可用的 Go 版本,使用 --all,列出所有的 tags listall - list available versions # 管理 Go 版本别名 alias - manage go version aliases - # gvm alias list ,列出所有别名 - # gvm alias create [alias name] [go version name],创建别名 - # gvm alias delete [alias name] ,删除别名 # 管理 GOPATH 环境变量, 会在 ~/.gvm/environments 目录下创建相应的文件 pkgset - manage go packages sets # 编辑 pkgset 的环境变量 pkgenv - edit the environment for a package set