之前構建 golang
遇到個問題,就是明明指定了依賴的包版本,在構建時,又自動把版本號給升上去了,當時不知道為什麼。後面知道有個 go mod graph
的命令能列出所有的依賴,試了下,一點都不直觀,還得複製到文字編輯器裡面來來檢索資訊。
於是我就上網查了下相關工具。
檢索 Go Module 依賴關係 視覺化
網上還是有很多工具。大部分方案都 graphviz
,echart
, 或者用繪製圖片,我就試了幾個。
graphviz
這個工具很強大,但需要通過其他渠道安裝,且生成的svg可讀性也不那麼好,特別是依賴的包多起來之後,例如下面這個:
於是乎我轉向 echart,
哇哦,看著挺不錯的,滑鼠懸停反饋也不錯,配色也很鮮豔。
echart 方案很漂亮,但沒法用。svg我還能搜尋包名,echart 這個不顯示包名。
好了,吐槽歸吐槽,問題還是要解決的。今天給大家介紹個 go mod graph
視覺化工具—— 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 協議》,轉載必須註明作者和本文連結