首页 > 解决方案 > 为什么 go list -m 命令列出我项目中一些未使用的模块?

问题描述

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)

标签: goglide-golang

解决方案


因为rcs.io/quote/v3依赖它。

通过引入一个依赖项,你反过来又引入了它的所有依赖项。

至于该main module does not need ...行,这在go help mod why帮助文本中进行了解释:

如果包或模块没有从主模块中引用,则该节将显示一个带括号的注释来指示该事实。

当来自的信息go mod why似乎不完整时,请尝试go mod graph完整的依赖图。


推荐阅读