proto c -gen- go -rp c: программа не найдена или не может быть выполнена - Где взять proto c -gen- go -rp c? - PullRequest
1 голос
/ 22 апреля 2020

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

Когда мы пытаемся для компиляции наших сервисов gRP C он говорит нам, что 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/

1 Ответ

0 голосов
/ 22 апреля 2020

Я не уверен насчет 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
...