错误样式:
book@ubuntu:~/pt1416/02-hellogolang/grpcTest$ protoc --proto_path=/home/book/pt1416/02-hellogolang/grpcTest --go_out=chat --go_opt=paths=source_relative chat.proto
protoc-gen-go: unable to determine Go import path for "chat.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.
源文件修改后:
syntax = "proto3";
option go_package = "./chat";
package chat;
message Message{
string body = 1;
}
service ChatService {
rpc SayHello(Message) returns (Message) {}
}
再次编译成功:
book@ubuntu:~/pt1416/02-hellogolang/grpcTest$ protoc --go_out=plugins=grpc:. *.proto
此处的修改,只是增加了一行
option go_package = "./chat";
注解:
option go_package 用于生成的.pb.go文件,在引用时和生成go包名时起作用
可用的命令行参考:
book@ubuntu:~/pt1416/02-hellogolang/grpcTest$ protoc --go_out=plugins=grpc:. ./*.proto
book@ubuntu:~/pt1416/02-hellogolang/grpcTest$ protoc --go_out=plugins=grpc:. *.proto
book@ubuntu:~/pt1416/02-hellogolang/grpcTest$ protoc --go_out=plugins=grpc:chat chat.proto