protoc-gen-go-rpc: программа не найдена или не исполняется - Где взять protoc-gen-go-rpc?

Мы используем protoc-gen-go v2 (v2 - это google.golang.org/protobuf, v1 - это github.com/golang/protobuf)

Когда мы пытаемся скомпилировать наши службы gRPC, он сообщает нам, что plugins больше не поддерживается, и вместо этого мы должны использовать --go-grpc_out:

$ protoc --go_out=plugins=grpc:. *.proto
--go_out: protoc-gen-go: plugins are not supported; use 'protoc --go-grpc_out=...' to generate gRPC

А при использовании --go-grpc_out он сообщает нам, что нам нужен protoc-gen-go-rpc:

$ protoc --go-rpc_out=. *.proto
protoc-gen-go-rpc: program not found or is not executable
Please specify a program using absolute path or make sure the program is available in your PATH system variable

Где найти, или как установить protoc-gen-go-rpc?

Обновление: мы также нашли этот пост на Reddit для получения дополнительной информации https://www.reddit.com/r/golang/comments/fe3a4k/documentation_on_getting_grpc_working_with_the/


person corgrath    schedule 22.04.2020    source источник


Ответы (1)


Я не уверен насчет protoc-gen-go v2, потому что последний тег protobuf, который я вижу, - это v1.4.

Вот пример того, как мы вызываем protoc для генерации исходного кода для службы с именем crab, не имеющей внешних зависимостей (например, без импорта внешних профилей). Единственная бинарная зависимость - protoc-gen-go

protoc -I $(pwd) -I /home/isaev/go/src \
 $(pwd)/crab/error_codes.proto \
 $(pwd)/crab/goproxy.proto \
 $(pwd)/crab/crab.proto \
 --go_out=plugins=grpc:/tmp/crab
person Vitaly Isaev    schedule 22.04.2020
comment
Эй, да. Поскольку вы используете плагины, вы все еще используете старую версию protocol-gen-go github.com/protocolbuffers/protobuf-go/releases/tag/ - person corgrath; 22.04.2020