protoc 是官方提供的编译器,用于将 .proto 文件,转换成各种语言的 protocol buffer 代码。
安装
1、下载编译器 protoc
/bin/protoc.exe
放到
${GOPATH}/bin
3、安装 protoc-gen-go 插件
go get -u github.com/golang/protobuf/protoc-gen-go
安装 protoc-gen-go-grpc 插件
cd Go_path\src\google.golang.org
git clone https://github.com/grpc/grpc-go
go install google.golang.org\grpc-go\cmd\protoc-gen-go-grpc
使用
Go Generated Code
https://developers.google.com/protocol-buffers/docs/reference/go-generated#package
protoc.exe *.proto --go_out=./ # --go_out 生成 go 代码,不带 rpc
protoc.exe *.proto --go_grpc_out=./ # --go_grpc_out 生成 go 代码,带 rpc,注意 proto 中要定义过 service
- plugins=plugin1 + plugin2: 指定要加载的子插件列表
--go_opt=paths=source_relative
--go-grpc_opt=paths=source_relative
报错及解决方法
1、
protoc-gen-go: unable to determine Go import path for "xxx.proto"
Please specify either:
• a "go_package" option in the .proto source file, or
• a "M" argument on the command line.
根据提示,在 https://developers.google.com/protocol-buffers/docs/reference/go-generated#package 中要求加上 option:
option go_package = "example.com/project/protos/fizz";
2、
生成 grpc 代码报错:
'protoc-gen-go-grpc' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
--go-grpc_out: protoc-gen-go-grpc: Plugin failed with status code 1.
是因为需要再安装 protoc-gen-go-grpc 插件
cd Go_path\src\google.golang.org
git clone https://github.com/grpc/grpc-go
go install google.golang.org\grpc-go\cmd\protoc-gen-go-grpc
Protobuf与gRPC安装指南
本文介绍如何安装并配置官方提供的编译器protoc,用于将.proto文件转换为Go语言的Protocol Buffers代码,并集成gRPC服务。涵盖protoc、protoc-gen-go及protoc-gen-go-grpc插件的安装步骤,以及常见错误处理。
1368

被折叠的 条评论
为什么被折叠?



