使用GVM管理多版本Golang环境
Go 语言版本管理器(Gvm)是管理 Go 语言环境的开源工具。Gvm 「pkgsets」 支持安装多个版本的 Go 并管理每个项目的模块。它最初由 Josh Bussdieker 开发,Gvm 与 Ruby RVM 类似,允许你为每个项目或一组项目创建一个开发环境,分离不同的 Go 版本和包依赖关系,来提供更大的灵活性,以防不同版本造成的问题。Gvm 主要有以下几个特性:
- 管理
Go的多个版本,包括安装、卸载和指定使用Go的某个版本 - 查看官方所有可用的
Go版本,同时可以查看本地已安装和默认使用的Go版本 - 管理多个
GOPATH,并可编辑Go的环境变量 - 可将当前目录关联到
GOPATH - 可以查看
GOROOT下的文件差异 - 支持
Go版本切换
安装依赖
apt-get install bison
安装GVM
[root@vps3019237 caddy]# bash < <(curl -sSL https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
Cloning from https://github.com/moovweb/gvm.git to /root/.gvm
Created profile for existing install of Go at '/usr/lib/golang'
Installed GVM v1.0.22
Please restart your terminal session or to get started right away run
`source /root/.gvm/scripts/gvm`
[root@vps3019237 caddy]# source /root/.gvm/scripts/gvm
[root@vps3019237 caddy]# gvm version
Go Version Manager v1.0.22 installed at /root/.gvm
常用命令
# 查看当前机器的Go环境
gvm list
# 查看所有可安装的Go版本
gvm listall
# 安装Go
gvm install go1.14
# 切换Go版本
gvm use go1.14
# 查看Go版本
go version
使用pkgset
# 自定义新的pkgset比如goGraces
gvm pkgset create goGraces
# 应用goGraces
gvm pkgset use goGraces
# 查看
gvm pkgset list
echo $GOPATH
# 安装mux包,此时它被安装到goGraces 的pkgset下面
go get github.com/gorilla/mux