如何解决如何使用 Go Modules 识别依赖链
如何识别存在于 go.sum
但不存在于 go.mod
中的模块的导入路径?我想知道 go.mod
中的哪个模块正在导入 go.sum
中列出的模块,以及它们之间的整个链。
我正在从我的一个模块和我自己的依赖项中删除不推荐使用的模块 logrus
,并希望确保我自己的任何代码都不再使用它,而其他代码确实使用它.
Go 模块同时具有 go.mod
和 go.sum
文件。在 go.sum
文件中,出现了 github.com/sirupsen/logrus
文件中没有的模块 go.mod
。
当我通过删除 go.sum
并运行 go.sum
重新创建 go test -v ./...
文件时,go.sum
文件将使用 logrus
重新创建。
go.mod
中没有直接或间接提及,例如:
github.com/sirupsen/logrus v1.6.0 // indirect
go mod why
返回以下内容:
$ go mod why github.com/sirupsen/logrus
# github.com/sirupsen/logrus
(main module does not need package github.com/sirupsen/logrus)
go mod why -m
返回以下内容:
$ go mod why -m github.com/sirupsen/logrus
# github.com/sirupsen/logrus
(main module does not need module github.com/sirupsen/logrus)
如何找出 go.mod
中的哪个模块正在导入模块 logrus
,该模块在 go.sum
中列出但未在 go.mod
中列出?
这是模块:
解决方法
go mod why github.com/sirupsen/logrus
# or
go mod graph | grep logrus
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。