如何使用 Go Modules 识别依赖链
How to identify dependency chain using Go Modules
如何识别 go.sum
中存在但 go.mod
中不存在的模块的导入路径?我想知道 go.mod
中的哪个模块正在导入 go.sum
中列出的模块,以及它们之间的整个链。
我正在从我的一个模块和我自己的依赖项中删除一个已弃用的模块 logrus
,并希望确保我自己的代码 none 仍然使用它,并且其他哪些代码确实使用了它。
Go 模块有一个 go.mod
和一个 go.sum
文件。在 go.sum
文件中,模块 github.com/sirupsen/logrus
出现,但在 go.mod
文件中没有出现。
当我通过删除 go.sum
和 运行 go test -v ./...
重新创建 go.sum
文件时,会使用 logrus
重新创建 go.sum
文件。
go.mod
中没有直接或间接提及,如:
github.com/sirupsen/logrus v1.6.0 // indirect
go mod why
returns 如下:
$ 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
returns 以下内容:
$ 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
如何识别 go.sum
中存在但 go.mod
中不存在的模块的导入路径?我想知道 go.mod
中的哪个模块正在导入 go.sum
中列出的模块,以及它们之间的整个链。
我正在从我的一个模块和我自己的依赖项中删除一个已弃用的模块 logrus
,并希望确保我自己的代码 none 仍然使用它,并且其他哪些代码确实使用了它。
Go 模块有一个 go.mod
和一个 go.sum
文件。在 go.sum
文件中,模块 github.com/sirupsen/logrus
出现,但在 go.mod
文件中没有出现。
当我通过删除 go.sum
和 运行 go test -v ./...
重新创建 go.sum
文件时,会使用 logrus
重新创建 go.sum
文件。
go.mod
中没有直接或间接提及,如:
github.com/sirupsen/logrus v1.6.0 // indirect
go mod why
returns 如下:
$ 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
returns 以下内容:
$ 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