环境:
- ubuntu 16.04 / macOS Catalina
最近要搞 gRPC,以为现在新出的东西应该用起来挺方便的,但是按照官方的步骤安装过程中遇到了一些小问题,看了些博客才解决,于是记录一下。
编译安装
下载
在 github 下载 gRPC 项目,然后更新子模块:
git clone https://github.com/grpc/grpc.git
git submodule update --init
依赖
这部分比较慢,我一行命令下去,大半天团建回来还没下好 …… 反正等就行了,超时了就重连再来。
接下来安装必要的依赖:
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
mac 可以通过 Homebrew 安装依赖:
brew install autoconf automake libtool
也可以直接 brew install protobuf grpc
安装,这里我已经下好了,就源码编译安装了。
protobuf
grpc 默认使用 protobuf 作为序列化传输,因为都是自家的嘛。我们先安装 protobuf,在 grpc/third_party/protobuf/
下:
git submodule update --init --recursive #更新第三方源码
sudo ./autogen.sh #生成配置脚本
sudo ./configure #生成 Makefile 文件,默认路径为 /usr/local/
sudo make
sudo make install
sudo ldconfig #更新共享库缓存
然后 protoc --version
试一下是否成功安装。
grpc
在 grpc/
目录下已经编写好了 makefile,直接执行:
make
make install # 默认安装在 /usr/local/ 目录。
Hello world
学习新的语言和框架总是从 hello world 开始的嘛!在 example/
下有一些示例代码,我们用 C ++ 版本来测试一下。
cd examples/cpp/helloworld/
make
./greeter_server # 开启一个服务
# 在另一个 terminal
./greeter_client # 打印出调用的结果:Hello world
好了,现在你又掌握了一种 Hello world 的写法,接下来就需要花点时间去耐心学习一下.proto 的写法,和理解 rpc 的原理了。学好了这些,在求职和工作过程中就多了一件利器。