не работает protoc
Мой $GOPATH = /home/<user>/work
Структура проекта:
~/gop/gRPC/
-----------src/
---------------main.go
---------------person.proto
Содержимое person.proto:
syntax= "proto3";
package main;
message Person{
string name =1;
int32 age = 2;
}
Содержимое main.go:
package main
func main() {
}
В консоли vscode находясь в каталоге проекта запускаю:
protoc --go_out=. *.proto
В ответ получаю:
protoc-gen-go: unable to determine Go import path for "person.proto"
Please specify either:
• a "go_package" option in the .proto source file, or
• a "M" argument on the command line.
See https://developers.google.com/protocol-buffers/docs/reference/go-generated#package for more information.
--go_out: protoc-gen-go: Plugin failed with status code 1.
Этот пример брал здеcь в видео. Не понимаю что я делаю не так. В видео все работает без дополнительных настроек. Мне нужно чтобы формировались файлы go со структурой заданной в .proto.
Ответы (1 шт):
Автор решения: umd
→ Ссылка
Нашел решение Нужно в файл .proto импортировать путь к пакету .go. В моем случае это строчка в файл .proto
option go_package = "./";
в итоге файл .proto стал таким
syntax= "proto3";
package main;
option go_package = "./";
message Person{
string name =1;
int32 age = 2;
}