vlambda博客
学习文章列表

喜欢 yarn 交互模式更新依赖的 gopher 有福了

大家好,我是欧盆索思(opensource),每天为你带来优秀的开源项目!

使用过 yarn 的朋友,应该知道 yarn upgrade-interactive,用于交互式更新依赖。今天推荐一个类似的库,不过用于 Go Module。

请注意,目前只支持补丁(patch)和次要更新(minor updates)。

设计该库的目的

Go Wiki 在 如何升级和降级依赖关系: https://github.com/golang/go/wiki/Modules#how-to-upgrade-and-downgrade-dependencies 文档中,介绍了一个命令:

go list -u -f '{{if (and (not (or .Main .Indirect)) .Update)}}{{.Path}}: {{.Version}} -> {{.Update.Version}}{{end}}' -m all 2> /dev/null

它查看直接依赖项的可用升级。然而,过程不可控,即我们不能通过它方便的更新某些依赖项。

此工具旨在通过交互的方式,使更新多个依赖项变得更加容易。这类似于 yarn upgrade-interactive ,但适用于 Go。

安装

$ go get -u github.com/oligot/go-mod-upgrade

使用

在使用模块的 Go 项目中,你现在可以运行:

$ go-mod-upgrade

这样就会出现类似上图的界面。其中颜色有助于标识更新类型:

  • 绿色进行较小的更新(minor update)
  • 黄色,用于补丁更新(patch)
  • 红色表示预发行更新(prerelease)

交互界面中,通过空格键选中某个包,上下箭头移动待选择包,还支持直接输入进行包的过滤。选中后回车,就会开始更新。

不过这个工具没法控制升级 patch 还是 minor update。


文末「阅读原文」可直达项目首页。


今天的项目大家觉得怎么样吗?如果你喜欢,请在文章底部留言、点赞或关注转发,你的支持就是我持续更新的最大动力!


推荐阅读





OpenSourceDaily - 送给爱开源的你

Git · GitHub · GitLab · Gitee