如何获得Go dependents列表

时间:2018-05-29 16:14:25

标签: go github dependencies

如果没有构建依赖关系图,是否存在一种在给定目标包的情况下检索依赖包列表的现有方法?

Sourcegraph有一个徽章(盾牌),显示有多少包使用特定包,但是当我点击他们的链接转到他们的UI时,我找不到包的计数或列表。以下是更多信息:

示例徽章:

Sourcegraph

GitHub有一个依赖图,但它似乎没有列出Go的包,它的文档只提到了JavaScript和Ruby,如下所示:

2 个答案:

答案 0 :(得分:5)

go list可以使用-f标记为您执行此操作。

go list -f '{{.Imports}}' ./...

将显示当前目录和子目录的所有导入列表。例如,您可以通过sort -u来管道,以获取所有依赖项的列表,或执行其他标准的基于shell的按摩。有关所有可用的格式选项,请参阅documentation

如果你需要一个递归列表,这也可以通过一些shell脚本来实现,然后在上面命令的输出上递归地执行相同的操作。

答案 1 :(得分:0)

pkg.go.dev(由 Google 的 Go 团队提供)具有该功能。检查 imported by 标签。

示例:https://pkg.go.dev/github.com/dolmen-go/jsonptr?tab=importedby

deps.dev(也由 Google 提供)也为 Go 包和其他编程生态系统提供了该功能。

示例:https://deps.dev/go/github.com%2Fdolmen-go%2Fjsonptr/v0.0.0-20200427210345-20e1608f9d85/dependents