Я пытаюсь сгенерировать исходный код Go из файла .proto с помощью этой команды:
protoc greet/greetpb/greet.proto --go-grpc_out=plugins=grpc:.
и это структура каталогов:
greet/greetpb/greet.proto
Я пробовал все ответы, упомянутые здесь Но, похоже, ни один из них не работает.
Я подтвердил, что protoc-gen-go
находится в PATH. Тем не менее, я получаю следующее:
protoc-gen-go-grpc: 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
--go-grpc_out: protoc-gen-go-grpc: Plugin failed with status code 1.
Дополнительные детали:
Go Version: go version go1.14.6 darwin/amd64
protoc version: libprotoc 3.12.3
Мой файл .zshrc:
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOROOT:$GOPATH:$GOBIN
-I=. -I=$GOPATH/src
.-I
Укажите каталог, в котором следует искать импорт. - person Зелёный   schedule 03.08.2020protoc -I=. -I=absolute/path/to/dir/containting/proto/ greet/greetpb/greet.proto --go-grpc_out=plugins=grpc:.
, но все равно получаю ту же ошибку @ Зелёный Что здесь за импорт? - person Aditya   schedule 03.08.2020go install google.golang.org/grpc/cmd/protoc-gen-go-grpc
и установить--go-grpc_out=.
- person Зелёный   schedule 03.08.2020out
выглядит как опция для пути вывода в данном случае текущего каталога.
. - person Зелёный   schedule 03.08.2020protoc-gen-go
иprotoc-gen-go-grpc
- это два разныхprotoc
плагина. В то время как первый генерирует код Go для определений сообщений protobuf, последний генерирует код Go для определений сервисов. - person Easwar Swaminathan   schedule 08.08.2020