Заблокировать конкретную c версию стороннего пакета в Go - PullRequest
1 голос
/ 21 июня 2020

Используя модули, когда я пытаюсь заблокировать конкретную c версию пакета с помощью следующей команды:

go mod edit -require "google.golang.org/grpc@v1.10.0"

Это отображается в разделе require файла go.mod :

google.golang.org/protobuf v1.10.0

И затем, когда я запускаю:

go mod vendor

Он всегда откатывает последнюю версию, которая в настоящее время v1.24.0. В разделе require файла go.mod отображается:

google.golang.org/protobuf v1.24.0

Есть ли способ заблокировать определенную версию c независимо от того, что?

Я использую в настоящее время go версия 1.14.3.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 21 июня 2020

Кажется, что можно указать моду go получать только указанные версии без изменения версии.

go -mod=readonly mod vendor

Можно найти по адресу: https://github.com/thepudds/go-module-knobs/blob/master/README.md

1 голос
/ 21 июня 2020

Одним из способов решения этой проблемы является выполнение go build после внесения определенных c изменений в go файл мода. Это гарантирует, что в вашу кодовую базу встроен файл go.sum. Это не что иное, как контрольная сумма вашего полученного пакета. Таким образом, все будущие опросы будут соответствовать контрольной сумме go .sum файла

.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...