前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >优雅的使用 Brew 切换 Go 版本

优雅的使用 Brew 切换 Go 版本

作者头像
Meng小羽
发布2020-11-03 14:35:21
4.1K0
发布2020-11-03 14:35:21
举报
文章被收录于专栏:Debug客栈Debug客栈

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

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

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

1 brew install

代码语言:javascript
复制
brew install go

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

2 brew switch

代码语言:javascript
复制
~ brew info go
go: stable 1.15.3 (bottled), HEAD

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

代码语言:javascript
复制
// 安装指定 go 版本
brew install go@<version>
// forexample
brew install go@1.12.17

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

代码语言:javascript
复制
brew switch go 1.12.17

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

代码语言:javascript
复制
~ 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,你会发现可以切换并正常使用:

代码语言:javascript
复制
~ 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 查看安装目录:

代码语言:javascript
复制
/usr/local/Cellar/go/

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

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

代码语言:javascript
复制
// 打开默认目录
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> 就可以切换环境了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 brew install
  • 2 brew switch
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档