Указать компилятору protobuf путь к googleapis
Как указать компилятору protobuf путь к файлу google/api/annotations.proto или как правильно установить https://github.com/googleapis/googleapis/tree/master/google/api? Данный код:
import "google/api/annotations.proto";
Вызывает следующую ошибку:
Import "google/api/annotations.proto" was not found or had errors
Компилирую при помощи команды:
protoc -I $MYPATH/github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options -I . --grpc-gateway_out . \
--grpc-gateway_opt logtostderr=true \
--grpc-gateway_opt paths=source_relative \
service.proto
Ответы (1 шт):
Автор решения: Andrey Mironov
→ Ссылка
Вам необходимо загрузить проект, либо с помощью команды:
go install github.com/googleapis/googleapis@latest
, либо с помощью:
git clone https://github.com/googleapis/googleapis
Далее необходимо указать путь до загруженного проекта. Например, я скачал с помощью git clone в ту же директорию, где лежит мой service.proto.
protoc -I googleapis/ -I . --grpc-gateway_out . \
--grpc-gateway_opt logtostderr=true \
--grpc-gateway_opt paths=source_relative \
service.proto
То же самое, если вы загрузили с помощью go get:
protoc -I $GOPATH/pkg/mod/github.com/googleapis/googleapis@<version>/ -I . --grpc-gateway_out . \
--grpc-gateway_opt logtostderr=true \
--grpc-gateway_opt paths=source_relative \
service.proto
Предполагаю, что вы пытаетесь развернуть reverse proxy. Возможно вам поможет инструкция по генерации