protobuf与protoc-gen-go

一、protobuf安装

下载地址 :https://github.com/protocolbuffers/protobuf/releases

新直接./configure就行,这个是protobuf 3版本

tar zvxf protobuf-all-3.6.1.tar.gz
cd protobuf-3.6.1
./configure -–prefix=/usr/local/
sudo make  #要编译很久
sudo make check
sudo make install
protoc –version #查看版本

二、什么是protoc-gen-go

protoc-gen-go是protobuf编译插件系列中的Go版本。从上一小节知道原生的protoc并不包含Go版本的插件,不过可以在github上发现专门的代码库(参见github库)。

由于protoc-gen-go是Go写的,所以安装它变得很简单,只需要运行 go get -u github.com/golang/protobuf/protoc-gen-go,便可以在$GOPATH/bin目录下发现这个工具。至此,就可以通过下面的命令来使用protoc-gen-go了。

protoc --go_out=output_directory input_directory/file.proto

其中"--go_out="表示生成Go文件,protoc会自动寻找PATH(系统执行路径)中的protoc-gen-go执行文件。

export PATH = $PATH:$GOPATH/bin

go的插件是protoc-gen-go,调用过上面的指令后,如果$GOBIN没有被设置,这个插件会被安装在$GOPATH/bin目录,如果$GOBIN和$GOPATH都没有设置,默认应该在~/go/bin目录。我们需要将protoc-gen-go所在的目录添加到$PATH目录中,否则在调用如下语句时:

如果没有配置会报错:

protoc -I=. --go_out=. addressbook.proto

protoc-gen-go: program not found or is not executable Please specify a program using absolute path 

参考:

https://www.cnblogs.com/fnlingnzb-learner/p/10534038.html

https://blog.csdn.net/weixin_42654444/article/details/82945195

https://blog.csdn.net/shirley_vacuum/article/details/86000311

https://www.cnblogs.com/albizzia/p/10781028.html

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值