go mod graph 可视化——gmchart

背景

之前构建 golang 遇到个问题,就是明明指定了依赖的包版本,在构建时,又自动把版本号给升上去了,当时不知道为什么。后面知道有个 go mod graph 的命令能列出所有的依赖,试了下,一点都不直观,还得复制到文本编辑器里面来来检索信息。

于是我就上网查了下相关工具。

别的工具

检索 Go Module 依赖关系 可视化

网上还是有很多工具。大部分方案都 graphvizechart, 或者用绘制图片,我就试了几个。

graphviz 这个工具很强大,但需要通过其他渠道安装,且生成的svg可读性也不那么好,特别是依赖的包多起来之后,例如下面这个:

go mod graphviz

于是乎我转向 echart,

哇哦,看着挺不错的,鼠标悬停反馈也不错,配色也很鲜艳。

go mod echart

echart 方案很漂亮,但没法用。svg我还能搜索包名,echart 这个不显示包名。

好了,吐槽归吐槽,问题还是要解决的。今天给大家介绍个 go mod graph 可视化工具—— gmchart

gmchart

github: github.com/PaulXu-cn/go-mod-graph-...

安装

go get -u github.com/PaulXu-cn/go-mod-graph-chart/gmchart

检查安装情况,如下就是成功了

gmchart --help

Usage of ~\go\bin\gmchart:
  -debug int
        is debug model
  -keep int
        start http server not exit

使用

进入 golang 项目,输入命令:

go mod graph | gmchart

会自动打开浏览器,如果没有就手动一下

访问 127.0.0.1:60306 就能看到

可以看到,它将依赖形成了一个 依赖树,你可以知道某个包在第几层被引入的,非常直观。网页内是一个svg,你要找某个包也非常方便,直接 ctr+F 就能检索。

总结

找了那么久,为啥还是没有一个趁手的工具呢?

我想了下,可视化是前端的擅长的啊,前端不用 golang 啊,会的也少,会 Golang 的前端,还对 go mod graph 这个功能感兴趣的就更少了,所以这个工具只能是我们后端来做了

哎~

其他方案

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

你好,请问浏览器无法打开对应的网页是怎么回事呀? 我是在wsl2中执行的命令,默认浏览器设置的是win下的Microsoft Edge浏览器。

file

4个月前 评论
小白要生发 (楼主) 4个月前

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