gRPC源码编译安装
最近,公司规划了一个新项目,据说要从0到1干起。小伙伴们都很兴奋,各个摩拳擦掌,准备大干一番。其实,我也异常兴奋。毕竟,现在的程序员,想要完全了解一个项目的所有,几乎是不可能的,而作为想要改变世界(程序员的美好幻想)的我们,怎能甘心埋头搬砖,一定更想知道自己搬的轮子具体是咋造出来的。扯多了,还是回到项目本身,领导分配给我的任务是,调研gRPC并评估其应用到我们项目本身上的可行性。
gRPC,由谷歌开发并开源的远程过程调用框架。接下来,我们开始盘它……
1. Windows
1.1 准备工作
(1) 安装Git
https://git-scm.com/
(2) 安装CMake
https://cmake.org/download/
备注:将Cmake bin 目录配置到系统环境变量Path。
(3) 安装Perl
(4) 安装Go
(5) 安装yasm
备注:将vsyasm.exe所在目录配置到系统环境变量Path。
(6) 安装visual studio 2019
1.2 源码下载
(1) 从github上拉取release版grpc源码;
(2) 下载grpc依赖的第三方依赖库源码:
a, 可以通过执行git gitsubmodule update -init,完成第三方依赖库源码下载;
b, 如果下载速度较慢,可以依据grpc源码根目录下的 .gitmodules文件中的配置项依次下载依赖的代码,并将代码放到指定路径下;
如果手动下载boringssl,请到
https://github.com/google/boringssl/tree/master-with-bazel下载源码
1.3 编译安装
( 1 ) 编译
>>mkdir.build
>>cd .build
>>cmake ..-G "Visual Studio 16 2019"
>>cmake--build . --config Release
( 2 ) 安装
>> cmake ..-DgRPC_INSTALL=ON
>> cmake--build . --target install
注意:安装时,要以管理员身份运行命令行
2. Linux
2.1 准备工作
(1)[sudo] apt-getinstall build-essential
autoconf libtool pkg-config
(2)[sudo] apt-getinstall cmake
(3)[sudo] apt-getinstall clang libc++-dev
(4)[sudo] apt-getinstall golang-go
(5)[sudo] apt-getinstall git
2.2 源码下载
同1.2节完全一样
2.3 编译安装
(1) 编译
>>mkdir.build
>>cd .build
>>cmake ..
>>make
(2)安装
>>make install
3. 补充
3.1 git clone提速
关于提升git的下载速度,可以参考
https://blog.csdn.net/weixin_44821644/article/details/107574297,使用giclone.com提供的国内镜像提速,如果直接从github pull代码,部分三方库可能由于网络问题无法下载成功
3.2 crypto编译失败
如果编译crypto项目失败,原因是golang.org被墙了,连接远端服务器失败,需要通过修改go代理解决。
参考链接:https://goproxy.io
echo "exportGOPROXY=https://goproxy.io" >> ~/.profile && source~/.profile