喜欢 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