требуется конкретная версия для протокола gen-go

# #go #protocol-buffers #protoc

Вопрос:

Мне нужен проект предварительной сборки , и мне нужна версия protoc-gen-go v1.25.0-devel , но я не могу найти команду и т. Д. Для ее установки, до сих пор я пытался сделать что-то подобное :

 go get -u google.golang.org/protobuf/cmd/protoc-gen-go@v1.25.0-devel
 

и я получаю эту ОШИБКУ invalid version: unknown revision cmd/protoc-gen-go/v1.25.0-devel

Есть ли какой-нибудь способ получить эту версию ?

Комментарии:

1. Такой версии, как v1.25.0-devel, не существует. Ознакомьтесь с доступными выпусками здесь github.com/protocolbuffers/protobuf-go/tags . Я побежал go get google.golang.org/protobuf/cmd/protoc-gen-go@v1.25.0 , и это работает правильно

2. @ПаблоФлорес Мне v1.25.0-devel не нужно v1.25.0

3. Там нет доступных тегов или ветвей с таким именем, вы не получите эту конкретную версию. Однако вы можете попытаться указать на конкретную фиксацию

4. @PabloFlores, с кем он работает, используя это ? dev.to/greenteabiscuit/…

5. Человек, написавший сообщение, никогда не указывал какую-либо конкретную версию для пакета go-го поколения, возможно, он go get загрузил последний пакет, доступный в то время, или тот, который был в их кэше модов go. Попробуйте использовать последнюю версию

Ответ №1:

Если вы следуете этому сообщению, чтобы создать образец службы, вам не нужна конкретная версия 1.25.0-devel, которая отображается в сгенерированных файлах. Вы должны использовать последнюю стабильную версию (в настоящее время v1.26.0). Поскольку это незначительное обновление версии, между версиями не должно быть никаких существенных изменений. Одна вещь, которая может вам понадобиться, чтобы примеры в посте работали, — это то, что вы должны установить пакет для сгенерированного кода. Вы можете установить его в файле .proto в качестве опции, например option go_package = grpc-example/generated/protos/calc , или в качестве аргумента командной строки для команды «Протокол», например protoc ...OTHER_OPTS --go_opt=Mprotos/calc.proto=grpc-example/generated/protos/calc .

Если вы уверены, что вам абсолютно необходима конкретная версия v1.25.0-devel, вы можете установить плагин, указывающий на конкретную фиксацию (поскольку эта версия в настоящее время недоступна в качестве тега/имени ветви). Если вы используете go 1.16.x, вы можете использовать go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@a9513eb указание на эту фиксацию. Для более старых версий go используйте go get