Я хочу потребовать определенную версию пакета Go, которая еще не была преобразована для использования модулей, я хочу потребовать это в моем go.mod
файле. В частности, это пакет github.com/docker/docker/pkg/[email protected]
Когда я запускаю следующую команду, я получаю следующий результат:
$ go get -v github.com/docker/docker/pkg/[email protected]
go: found github.com/docker/docker/pkg/system in github.com/docker/docker v17.12.0-ce-rc1.0.20200916142827-bd33bbf0497b+incompatible
Как видите, скачивается версия v17.12.0-ce
, а не v19.03.13
. Я также заметил суффикс несовместимости +, но не уверен, что это имеет какое-либо отношение к проблеме. Согласно документам
команда go добавляет суффикс + несовместимый к версиям с основной версией 2 или выше без файла go.mod. + несовместимость означает, что версия является частью того же модуля, что и версии с более низкими основными номерами версий; следовательно, команда go может автоматически обновиться до более поздних + несовместимых версий, даже если это может нарушить сборку.
поэтому я понимаю, что в этом пакете нет файла go.mod
, однако загруженная версия (17.x) больше 2, поэтому я не думаю, что +incompatible
является проблемой.
у меня вопрос: когда я указываю версию v19.03.13
, почему Go устанавливает v17.12.0-ce
?
Это версия, которую я хочу использовать
Это загруженный
v19.03.13
- person JimB   schedule 01.10.2020