環境:
- 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的原理了。學好了這些,在求職和工作過程中就多了一件利器。