
protoc-gen-go: unable to determine Go import path for "*.proto"问题解决
问题复现:
问题出现在protoc-gen-go
程序v1.3.2及以上版本
PS E:\protobuf\pb> 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://protobuf.dev/reference/go/go-generated#package for more information.
--go_out: protoc-gen-go: Plugin failed with status code 1.
解决办法:
只需要在.proto文件中添加一行option go_package = "./";
即可,示例定义如下
只需要在.proto文件中添加一行option go_package = "./;person";
即可,示例定义如下
syntax = "proto3";
package pb; // 后期生成go文件的包名
option go_package = "./;person"; // 添加此行
option go_package = "path;name";
path 表示生成的go文件的存放地址,会自动生成目录的。
name 表示生成的go文件所属的包名
如果name留空会出现 package为__的情况,可能会导致无法导入包