vlambda博客
学习文章列表

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