异常问题

在 proto 文件夹下执行如下命令:

protoc --go_out=plugins=grpc:. *.proto

或如下命令:

protoc --go_out=. *.proto

控制台输出如下异常信息:

rotoc-gen-go: unable to determine Go import path for "test.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.

解决方案

方案一:在.proto中指定option go_package属性

# 指定包名的位置改成:
option go_package = "./";

修改完毕,重新执行即可,当然也可以是相对的上级路径,如:

option go_package = "../param";

方案二:降低版本。按照官方使用protobuf 1.3.2,proto文件中不需要写 option go_package这个选项。

提示以上错误可以通过将protoc-gen-go版本降至v1.3.2及以下解决:

go get -u github.com/golang/protobuf/protoc-gen-go@v1.3.2


protoc-gen-go: unable to determine Go import path for “*.proto“问题解决插图

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

本文链接:https://choupangxia.com/2023/09/04/protoc-gen-go/