版本管理
大约 2 分钟gvm
版本管理
介绍
Go Version Manager(GVM)是一个用于管理 Go 语言版本的工具。它允许您同时在同一系统中安装多个 Go 版本,并通过简单的命令来切换使用不同版本的 Go。
安装
安装依赖
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
Mac
xcode-select --install
brew update
brew install mercurial
安装gvm
选择当前环境使用的shell(zsh、bash),执行shell脚本
zsh < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
添加配置
添加环境变量到
~/.zshrc
或~/.bashrc
export GO_BINARY_BASE_URL=https://golang.google.cn/dl/
[[ -s "$HOME/.gvm/scripts/gvm" ]] && source "$HOME/.gvm/scripts/gvm"
export GOROOT_BOOTSTRAP=$GOROOT
配置解释
命令中的 GO_BINARY_BASE_URL
变量,定义了我们将从何处下载 Golang 的二进制文件或源码压缩包进行安装。当然,你也可以将其替换为下面的任意一个。
# 官方地址
https://go.dev/dl/
# 官方国内镜像地址
https://golang.google.cn/dl/
# 阿里云镜像
https://mirrors.aliyun.com/golang/
# 中科大镜像
http://mirrors.ustc.edu.cn/golang/
[[ -s "$HOME/.gvm/scripts/gvm" ]] && source "$HOME/.gvm/scripts/gvm"
这条命令,是根据软件的实际安装情况来选择性加载 gvm
。相比较前文中安装完毕 gvm
日志输出内容推荐我们直接使用 source
命令加载 gvm
,这样可以更安全的执行命令,当且仅当 ~/.gvm
存在的时候才会加载程序,将 gvm
注册到你当前的 SHELL
环境中。
export GOROOT_BOOTSTRAP=$GOROOT
最后一条命令,则是为了确保 Golang 使用源码编译安装时,不会出错(golang 1.14后需要 )
使用
可以使用
gvm help
查看所有可用的命令
gvm version #查看安装的gvm版本
gvm listall # 获取所有服务器上可安装的golang版本集合
gvm list # 查看本地已经安装的golang版本集合
gvm install 1.16 # 编译源码的方式安装golang1.16到本地
gvm install go1.17 -B # 二进制文件的方式安装golang1.17到本地
gvm use go1.16 # 切换golang版本到1.16
gvm use go1.17 --default # go1.17设为默认版本
Go 1.5+ 从工具链中删除了 C 编译器,并用Go 编写的编译器替换了它们。为了编译 Go 1.5+,请确保首先安装 Go 1.4。
gvm install go1.4 -B
gvm use go1.4
gvm install go1.5