Ubuntu16.04 安装gRPC详细步骤 - Go语言中文社区

Ubuntu16.04 安装gRPC详细步骤


Ubuntu16.04 安装gRPC

gRPC 简介:

gRPC 是一款高性能、开源的 RPC 框架,产自 Google,基于 ProtoBuf 序列化协议进行开发,支持多种语言(Golang、Python、Java等),本篇只介绍 Python 的 gRPC 使用。因为 gRPC 对 HTTP/2 协议的支持使其在 Android、IOS 等客户端后端服务的开发领域具有良好的前景。gRPC 提供了一种简单的方法来定义服务,同时客户端可以充分利用 HTTP2 stream 的特性,从而有助于节省带宽、降低 TCP 的连接次数、节省CPU的使用等。

安装步骤

  • 1.安装相关依赖工具
#安装pkg-config
sudo apt-get install pkg-config
#安装依赖文件
sudo apt-get install autoconf automake libtool make g++ unzip
sudo apt-get install libgflags-dev libgtest-dev
sudo apt-get install clang libc++-dev
  • 2.下载gRPC 源码
 git clone https://github.com/grpc/grpc.git
 cd grpc
 git submodule update --init  #更新第三方源码
  • 3.安装protobuf
#此时应保证在grpc文件夹下
cd third_party/protobuf/
git submodule update --init --recursive #确保克隆子模块,更新第三方源码
sudo ./autogen.sh   #生成配置脚本
sudo ./configure    #生成Makefile文件,为下一步的编译做准备,可以加上安装路径:--prefix=path ,默认路径为/usr/local/
sudo make           #从Makefile读取指令,然后编译
sudo make check     #可能会报错,但是不影响,对于安装流程没有实质性用处,可以跳过该步
sudo make install 
sudo ldconfig       #更新共享库缓存
which protoc        #查看软件的安装位置
protoc --version    #检查是否安装成功
###一下为对make命令的补充,不运行:
# 卸载命令:make uninstall
# 清除编译产生的可执行文件及目标文件:make clean
# 除了清除可执行文件和目标文件外,把configure所产生的Makefile也清除掉:make distclean
  • 4.安装gRPC
cd ../..  #到达grpc根文件夹下
make   #编译

至此可能出现错误:

/usr/bin/ld: warning: libprotobuf.so.19, needed by //usr/local/lib/libprotoc.so, may conflict with libprotobuf.so.9 

在这里插入图片描述
这是因为电脑安装了两个不同版本的protobuf(ubuntu16默认已经安装了protobuf.so.9这系列的,新装的是protobuf.so.19系列的)。

  • 解决办法:
    卸载掉老版本的protobu:
sudo apt-get remove libprotobuf-dev

重新运行make命令;
继续运行下面命令:

sudo make install  #编译安装,默认安装位置为/usr/local/

至此,成功安装gRPC和protobuf。

  • 5.测试
    利用rgpc中的自带程序测试:
cd examples/cpp/helloworld/
sudo make   #如果此处出错,可能就是安装有问题了
sudo ./greeter_server   #运行server,监听50051端口
#打开一个新的终端运行client
sudo ./greeter_client
#就可以看到返回结果:Greeter received: Hello world

在这里插入图片描述
在这里插入图片描述
至此,安装完毕,测试完毕。
以上。

注:如果在运行命令后出现奇怪的报错,可以先尝试在命令前加sudo,用root权限,可能有奇效。

参考文章:https://blog.csdn.net/weixin_39986952/article/details/81168633

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_38923792/article/details/93479089
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 21:55:48
  • 阅读 ( 1994 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢