使用 g 来进行 golang 多版本管理

最近多线操作同时在弄好几个项目,正好几个项目的 golang 版本又不太一样,于是在寻找类似 python vitualenv 或者 conda 的环境管理工具。

最开始找到的就是官方的解决方案 golang/dl, golang/dl 维护了自1.5 以来到当前最新版本 1.19 beta 的所有软件包。我们可以直接

go get golang.org/dl/go1.17.3

一个软件包来进行覆盖安装。这种其实不是我想要的解决方案,我希望一个工具可以帮组合我来回切换我的软件版本,并且帮我管理好依赖关系。

 

于是我找到了 g

 

没错。。这个仓库就叫 g https://github.com/voidint/g

参考 repo readme 完成安装好我们可以来检验一下 g 是否满足需求。其实 g 就是在官方的 golang/dl 上包了一层。

我们使用 

g ls-remote 

可以获取到现在官方支持的所有 golang 版本。这些其实都是 dl 提供的支持。

使用 g ls 就可以看到本地已经安装的 golang 版本了,然后用 g use 就可以选择想要使用的版本进行切换。

 

 

使用 g install 1.19.1 安装想要安装的远端支持的版本。个人觉得非常赞,记录一下。

 

Reference:

https://github.com/voidint/g

 

posted @ 2022-07-13 12:45  piperck  阅读(1209)  评论(0编辑  收藏  举报