go list -m 可查看主模块路径;加 -json 输出版本、时间等结构化信息;用 all 列出所有依赖;-versions 查询远程模块版本;结合 -f 与 xargs 分析直接依赖,辅助 go mod graph 解析依赖关系。
在Golang中查看模块的详细信息,主要通过 go list 和 go mod 命令实现。这些命令能帮助你了解当前项目依赖的模块、版本、路径以及主模块信息。
go list -m
该命令输出当前主模块的导入路径,例如:github.com/yourname/yourproject
go list -m -json
输出包含模块路径、版本(如果有)、替换信息等。若模块未打标签,版本可能是伪版本(如 v0.0.0-20250101000000-abcdef123456)。go list -m all
该命令显示从根模块到所有间接依赖的完
整列表,每行一个模块,格式为 模块路径 版本。
如果只想看直接依赖:
go list -m -f '{{join .Deps "\n"}}' | xargs go list -m 或者更简单的方式是结合分析 import 使用情况,但目前没有原生命令直接输出“仅直接依赖”。
go list -m -versions github.com/some/module
输出示例:github.com/some/module v1.0.0 v1.0.1 v1.1.0 v2.0.0
这有助于决定升级或降级版本。go list -m -json github.com/gorilla/mux
输出为 JSON 格式,包括:基本上就这些常用方式。通过组合 go list -m 的不同参数,你可以灵活获取模块的各类信息,适合调试依赖问题或审查第三方库。不复杂但容易忽略细节,比如伪版本的含义或 indirect 标记的意义,建议结合 go mod graph 进一步分析依赖关系。