не работает 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;
}
→ Ссылка