使用g工具或手动配置可高效管理macos上多版本go。1. 用Homebrew安装g后,通过g install/use/default命令安装、切换和设默认版本,自动配置环境变量;2. 手动下载指定版本解压至统一目录,在shell配置文件中定义go-use函数动态切换GOROOT和PATH;两种方法均需确保PATH正确指向目标Go版本的bin目录,避免冲突。

在 macOS 上管理多个 Go 版本,最简单高效的方式是使用 g(Go 版本管理工具)或手动管理并结合 shell 环境变量切换。下面介绍两种实用方法,帮助你在 mac 上轻松配置多版本 Go。
方法一:使用 g 工具管理多版本 Go
g 是一个轻量级的 Go 版本管理工具,支持快速安装、切换和卸载不同版本的 Go。
步骤如下:
- 通过 Homebrew 安装 g:
brew install g - 列出可安装的 Go 版本:
g list-remote - 安装指定版本,例如 Go 1.20 和 Go 1.21:
g install 1.20g install 1.21 - 切换当前使用的 Go 版本:
g use 1.20g use 1.21 - 设置默认版本(全局生效):
g default 1.21
安装后,g 会将 Go 版本放在 ~/.go 目录,并自动配置好 GOROOT 和 PATH,无需手动设置。
方法二:手动下载并配置多版本 Go
如果你希望完全控制 Go 的安装路径,可以手动下载不同版本并配合 shell 脚本切换。
立即学习“go语言免费学习笔记(深入)”;
操作步骤:
- 前往 https://www.php.cn/link/81836b7cd16991abb7febfd7832927fd 下载所需版本的 tar.gz 包,例如
go1.20.darwin-amd64.tar.gz和go1.21.darwin-arm64.tar.gz。 - 解压到统一目录,如:
sudo tar -C /usr/local/go1.20 -xzf go1.20.darwin-amd64.tar.gzsudo tar -C /usr/local/go1.21 -xzf go1.21.darwin-arm64.tar.gz - 在 shell 配置文件(如
~/.zshrc或~/.bash_profile)中添加函数来切换版本:
示例函数:
go-use() { if [ -z "$1" ]; then echo "Usage: go-use <version>, e.g. go-use 1.20" return 1 fi export GOROOT=/usr/local/go$1 export PATH=$GOROOT/bin:$PATH go version }
保存后执行 source ~/.zshrc 重新加载配置。
之后可通过命令切换:go-use 1.20go-use 1.21
验证当前 Go 版本
无论使用哪种方式,都可以通过以下命令确认当前版本:
go version
输出类似:go version go1.21 darwin/arm64
基本上就这些。使用 g 更省心,适合大多数开发者;手动管理则更适合需要精细控制环境的场景。关键是确保 PATH 指向正确的 GOROOT/bin,避免版本混乱。


