猿问

如何使用所有依赖项(模块)?

我尝试获取我的项目使用的所有依赖项。


我查看了go.mod文件,虽然它只包含我添加的依赖项/模块,而不是我的依赖项中的依赖项。


查看go.sum文件,这看起来更有希望,但后来我注意到它包含多个重复项。即使我只使用一个版本的依赖项。举个例子:


github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=

github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=

github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=

google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=

如何获取仅包含所有积极使用的依赖项/模块的列表?


幕布斯7119047
浏览 119回答 1
1回答

慕尼黑的夜晚无繁华

您对这两个文件是正确的,从技术上讲,您可以通过在 go.mod 文件中添加替换语句来清理 go.sum。但是,您(和您的团队)始终保持清洁并不可靠。在我看来,获取您正在寻找的列表的最佳方式是go list -m all(或go list --json -m all获取 json 响应)。它将递归地列出您项目中的所有依赖项。但过滤掉未使用的。
随时随地看视频慕课网APP

相关分类

Go
我要回答