如何知道为什么要在go.mod中设置特定的软件包版本?

问题描述

我有一个Go存储库,其中有一个go.mod,目前需要k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible

我想更改模块使用的k8s.io/client-go的版本,但是,当我将版本更改为v0.19.1which exists)并运行go mod tidy时,版本再次设置为k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible,没有任何说明。

如何知道为什么特定软件包必须是特定版本?我想知道我的哪些需求需要k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible

解决方法

go mod graph | grep v11.0.1-0.20190409021438-1a26190bd76a 应该给你一个起点。您可以从那里向后工作。