ubuntu16安装最新protocbuf 和 protoc-gen-go

简言

1. protobuf(protocol buffer)是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。 protoc是Protobuf编译出来的可执行程序

2. protoc-gen-go是go语言版本的 protobuf 编译器插件,也就是说想把.proto的协议文件编译成.go文件,需要这个插件才行

 

步骤1

git clone https://github.com/protocolbuffers/protobuf.git

步骤2
cd protobuf

步骤3
git submodule update --init --recursive

步骤4,此步骤若报错 autoreconf: not found,则执行命令 sudo apt-get install autoconf automake libtool 再执行 ./autogen.sh 即可
./autogen.sh

步骤5
./configure

步骤6
make

步骤7
make check

步骤8
sudo make install

步骤9
sudo ldconfig


上面步骤都运行成功了,这时通过下面的命令查看当前版本信息:

protoc --version
以我的电脑为例,会输出:

libprotoc 3.11.2

下面开始安装 protoc-gen-go

步骤10(这样是安装最新的protoc-gen-go)

若想安装指定版本的protoc-gen-go,请参考这篇博客:https://blog.csdn.net/yzf279533105/article/details/104416459

若有网,则直接运行命令 go get -u github.com/golang/protobuf/protoc-gen-go ,完成后便可在$GOPATH/bin目录下发现这个工具

若无网,则首先在github.com/golang/protobuf上下载protoc-gen-go和proto,(最好将其放在$GOPATH/src目录下)然后进入protoc-gen-go目录,执行go build、go install即可在$GOPATH/bin目录下发现这个工具。前提是必须首先将$GOPATH/bin路径添加到环境变量$PATH中

懒人做法:上述可能会出现找不到某些依赖文件,直接从一台能访问网络且安装完成的服务器上打包github.com,然后sz、rz到无网络服务器,解压到$GOPATH/src目录下,go build、go install即可

 

PS:若要使用 grpc 以及 grpc-gateway 还要执行下面的操作

go get -u github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway
go get -u github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值