之前一直搞不懂 protocbuf 与grpc 的关系,其实想在想想 可以这样理解 protocbuf是 一种数据结构或者格式, grpc 是rpc的一种实现框架。
mac 使用protocol buffer ,首先使用
brew install protobuf
,会下载安装其他的一些依赖包,然后安装grpc ,也是可以通过
brew install grpc
我安装的protobuf 版本是3.2,发现 mac 该版本已经默认支持swift,真的是一个利好消息,唯一的遗憾是,google自己家的golang 却需要独立安装插件,怎么也没有想明白。
安装golang 插件其实是一个较为简单的命令,但是有时候你其实已经安装了,但是发现 调用命令的时候,发现调用不到,首先得一个前提是你的mac 上要先安装了 golang的语言包,并配置了 export GO_ROOT export GO_PATH 等环境变量。并在mac 上 创建 GO_WORK等文件目录
protobuf 的golang插件需要单独 独立下载 安装
1、获取 goprotobuf 提供的 Protobuf 编译器插件 protoc-gen-go
go get github.com/golang/protobuf/protoc-gen-go
或者
go get -a github.com/golang/protobuf/protoc-gen-go
-a 参数标示下载好后直接做 go install
protoc --go_out=. msg.proto
如果 命令 无法运行或者找不到,说明
1.可能是你的go的环境变量 有问题 ,一定要加入到PATH 变量中 $GO_ROOT/bin ,$GO_PATH/bin,
假如 在修改环境变量不方便的话,可以 直接去你的go语言配置的go_work目录下的bin 目录中,会找到
protoc-gen-go文件,
然后 在Terminal中 查找 你的protoc 命令文件 的根目录
which is protoc
会发现 我的protoc 命令文件所在目录
然后 打开 finder ,快捷键
shift+command +g
跳转到这个文件夹
,并将 protoc-gen-go 粘贴复制到此目录下
再次尝试命令,发现顺利执行
有疑问加站长微信联系(非本文作者)