Как узнать, почему в go.mod установлена ​​определенная версия пакета?

У меня есть репозиторий Go с go.mod, в настоящее время требующим k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible.

Я хотел бы увеличить версию k8s.io/client-go, используемую моим модулем, но когда я изменю версию на v0.19.1 (который существует), а затем запустите 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.


person Armand Grillet    schedule 11.09.2020    source источник
comment
Другая зависимость, скорее всего, требует именно эту более старую версию. Изучите другие ваши зависимости и их соответствующее go.mod содержимое.   -  person colm.anseo    schedule 11.09.2020
comment
Это не масштабируется при большом количестве зависимостей, я ожидаю, что команда go предоставит мне эту информацию вместо того, чтобы делать это вручную.   -  person Armand Grillet    schedule 12.09.2020


Ответы (1)


go mod graph | grep v11.0.1-0.20190409021438-1a26190bd76a должен дать вам отправную точку. Оттуда вы можете работать в обратном направлении.

person bcmills    schedule 12.02.2021