参考
gRPC框架学习:5、 go+gRPC+proto详细使用实例
设置环境
go env -w GOPROXY="https://goproxy.cn"
go env -w GO111MODULE="auto"
设置环境变量 GOPATH: 指你项目路径 GOROOT: 指的是go安装路径 重启电脑
1. 安装protoc
根据操作系统具体安装:
https://github.com/protocolbuffers/protobuf/tags protoc.exe 直接可以从这里拿, 不用编译,拿现成的
2. 安装protoc-gen-go
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
3. 安装protoc-gen-go-grpc
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
解释下protoc, protoc-gen-go, protoc-gen-go-grpc 关系
protoc编译器是通过插件机制实现对不同语言的支持
protoc-gen-xxx,此处是protoc-gen-go,也就是go语言的插件, 则会把对应.protoc文件转为go语言的格式
protoc-gen-go-xx 此处是又是实现一层静态插件系统, 会把对.protoc RPC 服务接口根据grpc的模板来生成rpc代码(可以自己定制)
吐槽
不得不说protoc 卡了我很久, 很多博客都没有详细说法, git clone protobuf, go install protoc-gen-go, 命令永远是
protoc.exe -go_out=. hello.proto
下载编译安装protoc-gen-go, 永远生成不了protoc.exe, protoc.exe 和 protoc-gen-go.exe 也是两个东西, 后者只是插件, 找了许久才知道protoc.exe 可以直接拿的 , 很多博客都没有人说protoc.exe从哪里来, 真的劝退对刚学习的go的人
|