参考
- https://zhuanlan.zhihu.com/p/611253641
- https://learnku.com/articles/78326
前文概要
Go语言从开始使用从1.13起步,随着泛型的支持,带领团队在转型Go的时候,做基础组件架构选型使用1.18,但是Go版本不断迭代想使用最新版本来体验下,类比前端中node,有个nvm工具;
联想到Go应该也会有对应的版本管理工具,果不其然是有的,还不止一个,下边来对比介绍一下。
配置完成就可以灵活切换不同GO版本,愉快的编码把!
- gvm Go Version Manager(多年不更新了)
- github:https://github.com/moovweb/gvm
- g 是一个多平台(Linux、Windows、MacOS)的 go 多版本管理工具。
- github:https://github.com/voidint/g
不同系统中如何安装
gvm
- 由于仓库多年不更新,感兴趣的可自行了解,Windows这里不做文档安装介绍,可以源码学习了解
安装
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
Mac OS X Requirements
xcode-select --install
brew update
brew install mercurial
Linux Requirements
- 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
常用命令
gvm install go1.4
gvm use go1.4 [--default]
gvm install go1.4 -B
gvm use go1.4
export GOROOT_BOOTSTRAP=$GOROOT
gvm install go1.5
gvm list
gvm listall
gvm implode
g(采纳,满足需求)
安装包下载地址:github.com/voidint/g/releases
特性
- 支持列出可供安装的 go 版本号
- 支持列出已安装的 go 版本号
- 支持在本地安装多个 go 版本
- 支持卸载已安装的 go 版本
- 支持在已安装的 go 版本之间自由切换
- 支持清空安装包文件缓存
- 支持软件自我更新(>= 1.5.0)
- 支持软件绿色卸载(>= 1.5.0)
Windows+Git bash
下载地址:https://github.com/voidint/g/releases/download/v1.5.0/g1.5.0.windows-amd64.zip
找到对应的windows版本,下载g.exe,配置到环境变量
g安装成功后:环境变量需要切换:
- 旧版本是go1.18.10,环境变量配置:C:\Program Files\Go\bin(需要先清掉)
- 新的变量配置:C:\Users\xxx(用户名).g\go\bin
Mac/Linux
下载地址:https://github.com/voidint/g/releases/download/v1.5.0/g1.5.0.linux-amd64.tar.gz
-
创建 g 家目录(推荐~/.g目录)
-
下载release的二进制压缩包,并解压至 g 家目录下的 bin 子目录中(即~/.g/bin目录)。
-
将所需的环境变量写入~/.g/env文件
cat >~/.g/env <<'EOF'
#!/bin/sh
# g shell setup
export GOROOT="${HOME}/.g/go"
export PATH="${HOME}/.g/bin:${GOROOT}/bin:$PATH"
export G_MIRROR=https://golang.google.cn/dl/
EOF
- 将~/.g/env导入到 shell 环境配置文件(如/.bashrc、/.zshrc…)
cat >>~/.bashrc <<'EOF'
# g shell setup
if [ -f "${HOME}/.g/env" ]; then
. "${HOME}/.g/env"
fi
EOF
启用环境变量
source ~/.bashrc # 或source ~/.zshrc
常用命令
查看远程稳定版本: g ls-remote stable
查询已安装的 go 版本: g ls
切换到另一个已安装的 go 版本: g use 1.19.10
安装目标 go 版本1.20.5: g install 1.20.6
卸载一个已安装的 go 版本: g uninstall 1.19.10
更新 g 软件本身: g self update
卸载 g 软件本身: g self uninstall
清空 go 安装包文件缓存: g clean