在 Go 官方没有“多版本并存+一键切换”的功能,但社区已经有 现成、成熟的版本管理器,用法跟 sdk 几乎一样。下面给出 主流工具 + 安装使用一条龙,你挑一个即可。
✅ 1. g(Linux / macOS / WSL 推荐)
-
特点:纯 Shell 实现,毫秒级切换,全局/项目级都支持。
-
安装(一键):
bash复制
# 要求已装 bash + git curl -sSL https://git.io/g-install | bash source ~/.g/env # 按提示把这句也写进 ~/.bashrc 或 ~/.zshrc -
常用命令:
bash复制
g ls # 查看已安装版本 g ls-remote # 查看官方所有版本 g install 1.22 # 装 1.22.x 最新 g install 1.21.7 g use 1.22 # 全局切换 g use 1.21.7 -p # 仅当前目录生效(写 .go-version 文件)
✅ 2. gvm(Go Version Manager)
-
特点:老牌,支持源码编译,但依赖多、稍重。
-
安装:
bash复制
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer) source ~/.gvm/scripts/gvm -
常用:
bash复制
gvm listall # 列出可装版本 gvm install go1.22 # 编译安装 gvm use go1.22 --default
✅ 3. goenv(类 rbenv/pyenv,习惯 *env 系列的用户)
-
安装(以 git 为例):
bash复制
git clone https://github.com/syndbg/goenv.git ~/.goenv echo 'export PATH="$HOME/.goenv/bin:$PATH"' >> ~/.bashrc echo 'eval "$(goenv init -)"' >> ~/.bashrc source ~/.bashrc -
常用:
bash复制
goenv install -l # 列出可装版本 goenv install 1.22.0 goenv global 1.22.0 # 全局切换
✅ 4. Windows 原生方案
-
scoop(包管理器)
powershell
安装完 scoop 后:复制
scoop install go # 最新版 scoop install go@1.21.7 # 指定版本 scoop reset go@1.22 # 一键切换 -
官方 zip 多版本 + 批处理(略麻烦,不推荐,scoop 就够了)。
✅ 如何挑
表格
复制
| 场景 | 推荐 |
|---|---|
| Linux 服务器 / WSL | g(最快) |
| macOS | g 或 goenv |
| Windows 原生 | scoop |
| 想源码编译 | gvm |
✅ 30 秒上手(以 g 为例)
bash
复制
curl -sSL https://git.io/g-install | bash
source ~/.g/env
g install 1.22
g use 1.22
go version # 验证
装完 g 之后,跟 SDKMAN 的体验完全一致:
g install → g use → 完成切换。
1226

被折叠的 条评论
为什么被折叠?



