官网有个工具buf可以自动生成 https://github.com/bufbuild/buf/releases
按照自己的平台下载对应的文件,并把可执行文件加入到环境变量下
proto同级目录下新增buf.gen.yaml或者执行 buf mod init,buf默认会扫描所有文件夹的*.proto,所以我在同级目录下创建
version: v1
plugins:
- plugin: go
out: .
opt:
- paths=source_relative
- plugin: go-grpc
out: .
opt:
- paths=source_relative
- plugin: grpc-gateway
out: .
opt:
- paths=source_relative
如果要用grpc-gateway,需要新增一个buf.yaml,引入gateway的插件
这时候需要执行指令 buf mod update
官网上说:Always run buf mod update after adding a dependency to your buf.yaml.
version: v1
name: buf.build/yourorg/myprotos
deps:
- buf.build/googleapis/googleapis
经测试,并不用引入protoc版本的google/api/annotations.proto
执行指令生成
buf generate
标签:relative,proto,Grpc,Golang,yaml,buf,gateway,out
From: https://www.cnblogs.com/qcy-blog/p/18009321