Почему утилита protoc не видит с++ плагин?(grpc)

Я пытаюсь скомпилировать .proto файл командами

protoc --grpc_out=. --plugin=protoc-gen-grpc=`which grpc_cpp_plugin` test.proto
protoc --cpp_out=. test.proto

Но при выполнении первой команды возникает ошибка

: 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 --grpc_out: protoc-gen-grpc: Plugin failed with status code 1.

Судя по всему, я неправильно указываю плагин, или что то в этом духе. как пример брал команду по windiws, там в качестве плагина предается grpc_cpp_plugin.exe, запись which grpc_cpp_plugin я взял из официальной документации. Что нужно передать в качестве плагина, что команда сработала ?

утилиту ptotoc я установил со snap пакетов ubunu, так же из репозитория я скачал пакет libgrpc-dev


Ответы (1 шт):

Автор решения: Nik

Указано что исполняемый файл (то есть программу которая генерирует код исходя из .proto файла) "protoc-gen-grpc" не может найти в пути $PATH. Для этого нужно:

Пути в примерах и у тебя могут отличаться.

  1. Разобраться есть ли эта программа и узнать её расположение.

    $ whereis protoc-gen-grpc
    /opt/homebrew/bin/protoc-gen-grpc
    
  2. Проверить есть ли в переменной $PATH путь к /opt/homebrew/bin

    $ echo $PATH
    /opt/homebrew/sbin
    
  3. Добавить в переменную путь

    $ export PATH=$PATH:/opt/homebrew/bin
    
→ Ссылка