为什么“go list -m all”命令会列出项目中一些未使用的模块?

puruo6ea  于 2023-03-10  发布在  Go
关注(0)|答案(1)|浏览(538)

go list -m all命令:

$ go list -m all |grep rsc
rsc.io/pdf v0.1.1
rsc.io/quote/v3 v3.1.0
rsc.io/sampler v1.3.0

但我的项目不依赖于rsc.io/sampler

$ go mod why -m rsc.io/sampler
# rsc.io/sampler
(main module does not need module rsc.io/sampler)
mrfwxfqh

mrfwxfqh1#

因为rcs.io/quote/v3依赖于它。
通过拉入一个依赖项,可以依次拉入它的所有依赖项。
对于main module does not need ...行,go help mod why帮助文本对此进行了解释:
如果包或模块没有从主模块引用,节将显示一个带括号的注解来指示这一事实。
如果go mod why中的信息似乎不完整,请尝试使用go mod graph获取完整的依赖关系图。

相关问题