如何安装 protoc 以及对应代码插件
目录
一、关于 protoc
protoc 是一个用于生成代码的工具,它可以根据 proto 文件生成C++、Java、Python、Go、PHP 等多重语言的代码,
而 gRPC 的代码生成还依赖 protoc-gen-go,protoc-gen-go-grpc 插件来配合生成 Go 语言的 gRPC 代码。
protoc
是一个独立的编译器,不是Go语言的包。所以 go install
命令不适用于安装
protoc`编译器
二、安装 protoc
github 仓库找到对应版本进行下载:Releases · protocolbuffers/protobuf · GitHub
这里有个很狗的地方,github 上的 tag,和实际安装后 protoc 的版本不一样,只能下载后才能找到知道实际的版本
比如我这里要下 v3.19.4 ,但是对应的 tag 为 v21.11 对应的链接:
下载后为 二进制执行文件:protoc
将文件移动到 GOBIN (一般是 $GOPATH/bin)目录下
执行:
protoc --version
成功即可看到版本
三、常用插件安装
(一)protoc-gen-go
生成 go 语言代码
# 安装最新版本
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
# 安装指定版本
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.33.0
# 指定环境安装,安装后为对应环境的执行文件
GOOS=darwin GOARCH=arm64 go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.33.0
查看安装是否成功:
protoc-gen-go --version
(二)安装 protoc-gen-go-grpc
生成 go grpc 代码
# 安装最新版本
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
# 安装指定版本
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.3.0
# 指定环境安装,安装后为对应环境的执行文件
GOOS=darwin GOARCH=arm64 go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.3.0
查看安装是否成功:
protoc-gen-go-grpc --version
那你知道如何自定义插件,生成自己的特定代码吗?