前言
类似java可以使用sdkman管理多版本,golang可以用gvm
安装
使用gvm管理go之前先安装一个版本的go,因为gvm使用go来编译go
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| # Debian/Ubuntu 安装依赖 $ sudo apt-get install curl git mercurial make binutils bison gcc build-essential
# Redhat/Centos 安装依赖 $ sudo yum install curl $ sudo yum install git $ sudo yum install make $ sudo yum install bison $ sudo yum install gcc $ sudo yum install glibc-devel
# macOS 安装依赖 $ xcode-select --install $ brew update $ brew install mercurial
# 安装gvm(我用的zsh,bash的话前面自己修改) $ zsh < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
# source /Users/wanshao/.gvm/scripts/gvm
|
gvm使用
1 2 3 4 5 6 7 8
| # 显示所有可以安装的go版本 gvm listall
# 显示当前本地的版本 gvm list
# 切换版本,并且设定Wie默认 gvm use go1.12.8 --default
|
pkset命令
pkgset默认用的global,可以创建别的pkg目录,这样一个go version 也可以对不同项目的包做隔离。比如一些版本冲突问题。
1 2 3 4
| gvm pkgset create introToGvm gvm pkgset use introToGvm Now using version go1.12.9@introToGvm gvm pkgset list
|