Почему go .mod постоянно меняется с тестом go - PullRequest
0 голосов
/ 06 мая 2020

Привет, я хочу закрепить конкретную версию зависимости в моем go.mod, например

    github.com/dependecy v1.7.0

И когда я запускаю go test или go build, иногда он обновляется до

    github.com/dependecy v1.8.0

Сложность в том, что иногда это меняется, а иногда нет. Мы хотели бы закрепить старую версию, потому что в новой версии есть ошибка. Есть идеи, почему это происходит?

Ответы [ 2 ]

0 голосов
/ 06 мая 2020

Go модулей не поддерживают несколько младших версий одного и того же пакета в одном модуле, если они добавлены, то в конце сохраняется только последняя версия для использования в сборке.

У вас может быть некоторая зависимость которые требуют более высокой версии и заменяют старую.

Если какой-либо модуль выдал версию 1.8.0 с ошибкой, сообщите об ошибке или создайте вилку репозитория по мере необходимости.

0 голосов
/ 06 мая 2020

Я считаю, что это происходит потому, что у вас может быть зависимость, которая может иметь требование для более высокой версии модуля. Из go документации здесь

Если в список добавлено несколько версий определенного модуля, то в конце будет только последняя версия (согласно semanti c version порядок) сохраняется для использования в сборке.

Вы можете попробовать команды, перечисленные в документации, или запустить go build с флагом -mod=readonly. Это должно помочь вам понять, что может вызвать это.

...