优雅的使用 Brew 切换 Go 版本

友情提示:此篇文章大约需要阅读 3分钟42秒,不足之处请多指教,感谢你的阅读。 订阅本站

Brew 是 Mac 上包管理工具,和 Linux 上的 aptyumrpm 一样,可以提供非图形化软件的安装,昨天在打造宇宙最强 IDE 的时候,使用brew工具更新了一下软件包,是我的 Go 版本升级到了最新版本,同时之前配置的多版本 Go 抹掉了,现在写一下记录,你如果需要的话可以使用一下。

之前写过一个使用 GVM 版本管理工具的文章,这个是第三方工具管理的,都比较好用,你可以根据自己的需求安装。

1 brew install

brew install go

默认你可以安装一个 go 的最新版本,之后再安装指定版本,使用 brew switch 命令切换就可以了。

2 brew switch

~ brew info go
go: stable 1.15.3 (bottled), HEAD

使用 brew info go 命令你可以看到当前目前的 go 可以切换的版本,接下来就安装多个版本并且切换到对应的版本吧。

// 安装指定 go 版本
brew install go@<version>
// forexample
brew install go@1.12.17

安装好了 之后使用 brew info go 查看是否可以切换了。

brew switch go 1.12.17

单纯的使用上面的命令你会发现,go 不能使用了,并且会出现下面的提示:

~ brew switch go 1.12.17
Cleaning /usr/local/Cellar/go/1.12.17
Cleaning /usr/local/Cellar/go/1.15.3
0 links created for /usr/local/Cellar/go/1.12.17

创建了零个连接,就代表着没有成功的将 go 版本指向你所需要的版本下,问题是什么呢?现将 go 版本切回 go 1.15.3,你会发现可以切换并正常使用:

~ brew switch go 1.15.3
Cleaning /usr/local/Cellar/go/1.12.17
Cleaning /usr/local/Cellar/go/1.15.3
3 links created for /usr/local/Cellar/go/1.15.3

~ go version
go version go1.15.3 darwin/amd64

定位这个原因你需要看看为什么没有未给 go 1.12.17 版本创建软连接,首先要找一下 go 默认安装的位置,使用 go env 查看安装目录:

/usr/local/Cellar/go/

使用 brew 工具在 MacOS Catalina 系统安装的位置。

进入到目录之后在 go 目录下只有刚才默认安装的 1.15.3 版本,并没有自己安装的版本,退出父级目录看到了下载的 go@1.12.17 版本,由于软连接连接的是上方的路径,需要将这个目录移动至 go 目录下:

// 打开默认目录
cd /usr/local/Cellar/go/
// 退出目录
cd ..
// 移动目录至 go 目录下
mv go@1.12.17 go/
// 重要!!! 重命名文件夹
mv go@1.12.17 1.12.17

接下来使用切换命令 brew switch go <version> 就可以切换环境了。

本作品采用《CC 协议》,转载必须注明作者和本文链接
Meng小羽
Meng小羽
讨论数量: 2

我的电脑是Mac11.2.1 (20D75), brew switch ...的之后,提示 没有switch命令该怎么解决呢?

3年前 评论
Meng小羽

不能进行升级系统了么 这个版本我也不太清楚 抱歉啦

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!