轻松管理多个Go版本:g工具安装与使用
前言
Golang 的版本控制工具 g 是一个用于方便地管理和切换 Go 语言版本的命令行工具。它让用户可以轻松地安装、卸载和切换不同版本的 Go,从而更好地适应不同项目的需求。类似于Python的pyenv或Node.js的nvm,是专为Go设计的轻量级版本管理工具。其Github releases链接如下:https://github.com/voidint/g/releases
同时支持windows、linux、mac三个系统。
一、安装g工具
安装g工具可以使用两种方式来安装
手动安装
:根据自己的电脑系统和CPU架构选择对应的压缩包,下载到本地。并解压到自己想要放置的文件自动化安装
:根据自己的系统来执行对应的安装脚本
Linux | Mac 用户
自动化安装
通过执行install.sh
代码,自动执行下载及环境配置
# 建议安装前清空`GOROOT`、`GOBIN`等环境变量
$ curl -sSL https://raw.githubusercontent.com/voidint/g/master/install.sh | bash
$ cat << 'EOF' >> ~/.bashrc
# 可选。检查g别名是否被占用
if [[ -n $(alias g 2>/dev/null) ]]; thenunalias g
fi
EOF
$ source "$HOME/.g/env"
手动安装
创建G_HOME
目录,作者推荐使用~/.g
将下载的包解压到~/.g./bin
目录,设置对应的环境变量
$ 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
启动环境变量
$ source ~/.bashrc # 或source ~/.zshrc
Windows用户
自动安装
windows想要进行自动安装,需要使用powershell
配置管理员权限使用。
$ iwr https://raw.githubusercontent.com/voidint/g/master/install.ps1 -useb | iex
手动安装-官方教程(装到用户目录下)
- 创建目录
mkdir ~/.g/bin
- 下载release的 windows 版本的二进制压缩包, 解压之后放到
~/.g/bin
目录下 - 默认二进制文件名是 g.exe, 如果你已经用 g 这个命令已经用作为 git 的缩写,那么你可以把 g.exe 改为其他名字,如 gvm.exe
- 执行命令
code $PROFILE
, 这个命令会用 vscode 打开默认的 powershell 配置文件 - 在 powershell 的默认配置文件中加入如下内容
$env:GOROOT="$HOME\.g\go"
$env:Path=-join("$HOME\.g\bin;", "$env:GOROOT\bin;", "$env:Path")
- 再次打开 powershell 终端,就可以使用 g 或者 gvm 命令了
手动安装-非C盘配置
-
创建自己想放置的目录 如:
D:\Golang\g
-
下载release的 windows 版本的二进制压缩包, 解压之后放到
D:\Golang\g\bin
目录下 -
可自定义名称,如改成
gvm.exe
后,之后使用命令则以gvm
开头。 -
配置环境变量:跟官方代码逻辑一样,主要有三个点,如本次的例子,通过点击环境变量的配置
- G_HOME = D:\Golang\g
- GOROOT = %G_HOME%\go
- Path中配置 %GOROOT%\bin 这里是为了能在终端中使用go
- 设置 G_EXPERIMENTAL=true(**重要!**否则默认会安装到 ~/.g)
-
CMD 终端测试
g -v
查看版本
二、使用方法
配置镜像
国内直连官网下载存在困难,建议配置镜像进行下载。
环境变量中配置G_MIRROR
为如下任意地址即可
- Go 官方镜像站:https://golang.google.cn/dl/
- 阿里云开源镜像站:https://mirrors.aliyun.com/golang/
- 南京大学开源镜像站:https://mirrors.nju.edu.cn/golang/
- 华中科技大学开源镜像站:https://mirrors.hust.edu.cn/golang/
- 中国科学技术大学开源镜像站:https://mirrors.ustc.edu.cn/golang/
设置后验证查看
g env
常用命令
查询当前可供安装的stable状态及所有的 go 版本
# stable 版本
g ls-remote stable# 所有远程版本
g ls-remote# 查看本地已安装版本
g ls# 安装目标 go 版本
g install 1.24.3# 切换到已安装go版本
g use 1.24.3# 卸载指定版本
g uninstall 1.24.3
g 自身相关命令
# 清空 go 安装包文件缓存
g clean# 查看 g 版本信息
g version 1.5.0# 更新 g 软件本身
g self update# 卸载
g self uninstall
总结
通过本文的详细介绍,我们了解到 g 是一个非常强大的工具,能够极大地简化 Go 语言版本管理的过程。以下是本文的重点总结:
-
安装方式:
- 自动化安装:适用于希望快速上手且不需要自定义配置的用户。只需执行简单的命令即可完成安装。
- 手动安装:提供了更大的灵活性,允许用户根据自己的需求选择安装路径和环境变量设置。
-
跨平台支持:无论是 Linux、macOS 还是 Windows 用户,都可以找到适合自己的安装和配置方法。
-
常用命令:
- 使用 g ls-remote 查看可用的 Go 版本,并使用 g install 安装所需版本。
- 切换不同版本的 Go 可以通过 g use 命令实现,而卸载不再需要的版本则可以使用 g uninstall。
-
g 自身也提供了诸如 g clean 清理缓存、g version 查看当前版本以及 g self update 更新自身等功能。
-
镜像源配置:对于国内用户来说,合理配置镜像源(如使用阿里云或中科大等镜像站)可以显著提高下载速度,确保更流畅的开发体验。
-
环境变量配置:正确配置环境变量是保证 g 能够正常工作的关键步骤。无论是通过自动脚本还是手动配置,都应确保 GOROOT 和 PATH 等重要变量被正确设置。
-
社区资源:除了本文提供的信息外,官方 GitHub 仓库也是获取最新功能介绍和技术支持的重要来源。