本文将详细介绍如何使用开源工具 g 进行 Go 的版本管理及升级操作,包含完整的环境变量配置说明和旧版本处理方法。
一、什么是 g?
g 是一个轻量级的 Go 版本管理工具,支持多版本安装、切换和卸载。通过 g 可以:
- 一键安装/卸载不同 Go 版本
- 无缝切换项目所需 Go 版本
- 自动管理环境变量
二、Windows 安装指南
步骤 1:处理旧版 Go 安装
- 卸载原有 Go:
- 控制面板 → 程序和功能 → 找到 Go → 卸载
- 删除旧版 Go 目录(如
C:\Environment\Go
,不过通过控制面板卸载时目录也跟着删除了,自己尝试的时候请注意) -
清理环境变量:
- 删除系统变量中的旧
GOROOT
(如果存在的话,一般第一步的时候也会一起删了) - 编辑系统环境变量中
Path
变量,删除旧版 Go 的 bin 路径(如C:\Environment\Go\bin
)
- 删除系统变量中的旧
- 注意:如果你不清楚如何找到环境变量,请接着往下看,后面会详细说明
步骤 2:下载 g 安装包
- 访问 g 发布页面(可能需要科学上网)
- 下载最新版
windows-amd64.zip
文件(如g-v1.8.0-windows-amd64.zip
)
步骤 3:解压文件
- 创建安装目录(示例:
C:\Environment\g
) - 解压下载的 ZIP 文件到该目录
- 确认目录包含
g.exe
可执行文件
步骤 4:配置环境变量(详细说明)
环境变量配置在 系统环境变量 中设置:
-
打开环境变量设置:
- 按
Win + R
输入sysdm.cpl
并回车 - 转到 "高级" 选项卡 → 点击 "环境变量"
- 在 "系统变量" 部分操作
- 按
-
添加/修改以下变量:
变量名 | 值 | 详细设置步骤 |
---|---|---|
G_MIRROR |
https://golang.google.cn/dl/ |
1. 点击"新建" 2. 变量名: G_MIRROR 3. 变量值: https://golang.google.cn/dl/ |
G_HOME |
C:\Environment\g |
1. 点击"新建" 2. 变量名: G_HOME 3. 变量值: C:\Environment\g |
GOROOT |
%G_HOME%\go |
1. 点击"新建" 2. 变量名: GOROOT 3. 变量值: %G_HOME%\go |
GOBIN |
%GOROOT%\bin |
1. 点击"新建" 2. 变量名: GOBIN 3. 变量值: %GOROOT%\bin |
G_EXPERIMENTAL |
true |
1. 点击"新建" 2. 变量名: G_EXPERIMENTAL 3. 变量值: true |
- 修改
Path
变量:
- 在系统变量中找到
Path
→ 点击"编辑" -
点击"新建"添加两条路径:
%G_HOME%
(g 工具路径)%GOBIN%
(Go 命令路径)
确定后,重新打开cmd
步骤 5:验证安装
打开新的命令提示符执行:g --version
C:\Users\xxx>g --version g version 1.8.0 Built: 2025-07-11 13:24:15 Git branch: master Git commit: a82e89cc Go version: go1.20.14 OS/Arch: windows/amd64 Experimental: false
三、管理 Go 版本
注:后续操作建议都在管理员cmd下执行
1.安装 Go 版本
# 安装最新稳定版 g install latest # 安装指定版本(如 1.22.2) g install 1.22.2
注意:在执行安装命令的时候可能会遇见以下情况
C:\Users\XXX>g install latest [g] Resource(Https://Golang.google.cn/Dl/Go1.25rc2.windows-Amd64.zip) download failed ==> open C:\Users\My\Environment\g\downloads\go1.25rc2.windows-amd64.zip: Access is denied.
遇见了就以管理员身份打开cmd,重新下载即可
C:\Windows\system32>g install latest [g] Url "https://golang.google.cn/dl/" is unreachable ==> Get "https://golang.google.cn/dl/": tls: failed to verify certificate: x509: certificate has expired or is not yet valid: C:\Windows\system32>g install latest Downloading 100% [===============] (67/67 MB, 17 MB/s) Computing checksum with SHA256 Checksums matched Now using go1.25rc2 windows/amd64
此时在打开我们的 g 目录,可以看见多出了这三个新文件夹了
注意:后续操作大部分情况下都需要在管理员 cmd 中执行
2.查看已安装版本
g ls
输出示例:
* 1.22.2 1.25rc2
其中的 * 表示当前正在使用的 Go 版本
3.切换 Go 版本
注意:这里也要以管理员身份在cmd中执行
g use 1.25rc2
:: 在用户cmd中执行提示: C:\Users\XXX>g use 1.25rc2 [g] Symlink C:\Users\XXX\Environment\g\versions\1.25rc2 C:\Users\XXX\Environment\g\go: A required privilege is not held by the client. :: 在管理员cmd中执行提示: C:\Windows\system32>g use 1.25rc2 Now using go1.25rc2 windows/amd64
4.卸载 Go 版本
卸载命令同切换
g uninstall 1.22.2
5.升级到最新版
g install latest g use latest