日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux下grpc安装编译,linux下安装grpc插件 (c++和go语言)

發(fā)布時(shí)間:2023/12/10 linux 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux下grpc安装编译,linux下安装grpc插件 (c++和go语言) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在debian/ubuntu系統(tǒng)下,需要做如下準(zhǔn)備操作:

$ [sudo] apt-getinstallbuild-essential autoconf libtoolpkg-config

如果你想要從源碼編譯并且運(yùn)行測(cè)試,同時(shí)運(yùn)行下面的安裝:

$ [sudo] apt-getinstalllibgflags-dev libgtest-dev

$ [sudo] apt-getinstallclang libc++-dev

下拉源代碼信息(包括子模塊)

在編譯之前,你需要下拉grpc的github倉庫,并且下載grpc的一些依賴庫,具體操作如下:

$ git clone -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc$ cd grpc

$ git submodule update --init

protoc安裝

默認(rèn)grpc使用protobuf,你需要protoc編譯器來生成服務(wù)端和客戶端的通信代碼。如果你還沒有安裝protoc編譯器,可以考慮編譯位于third_party中的protoc。

你可以使用下面的指令安裝:

$ cd grpc/third_party/protobuf

$ make&& [sudo]makeinstall# ‘make’ should have been run by core grpc

在grpc根目錄調(diào)用如下命令:

$make$ makeinstall

這樣,grpc將會(huì)安裝到你的系統(tǒng)目錄中。

注意:使用make install安裝之后,想要卸載grpc會(huì)比較困難。如果你之后想要移除grpc,或者想要升級(jí)到一個(gè)新的版本,這將會(huì)是個(gè)問題。對(duì)于這個(gè)問題,你可以修改Makefile中的prefix定義,在Makefile中,prefix原定義是??prefix ?= /usr/local 。

如果你希望將grpc安裝到其他目錄,這個(gè)需要使用如下的步驟:

(1)修改make調(diào)用的Makefile文件中的prefix為你所想要安裝的目錄(這里假設(shè)為/xxx/yyy)

(2)修改~/.bashrc中的PATH變量(用于查找grpc的plugin插件),設(shè)置如下:

export PATH=$PATH:/xxx/yyy/bin

(3)修改~/.bashrc?中的PKG_CONFIG_PATH變量,設(shè)置如下:

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/xxx/yyy/lib/pkgconfig

(4)修改~/.bashrc?中的?C_INCLUDE_PATH,?CPLUS_INCLUDE_PATH(用于查找頭文件位置)和LD_LIBRARY_PATH變量,設(shè)置如下:

export C_INCLUDE_PATH=$C_INCLUDE_PATH:/xxx/yyy/include

export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/xxx/yyy/include

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/xxx/yyy/lib

export LIBRARY_PATH=$LIBRARY_PATH:/xxx/yyy/lib

(5)調(diào)用source ~/.bashrc使設(shè)置生效

(6)?設(shè)置動(dòng)態(tài)庫查找位置

在/etc/ld.so.conf.d中新建grpc.conf文件,在其中添加/xxx/yy/lib目錄

然后調(diào)用ldconfig,使動(dòng)態(tài)庫設(shè)置生效

(7)如果你想要編譯grpc中自帶的例子(examples),需要修改/xxx/yyy/lib/pkgconfig/grpc++.pc文件,修改prefix為/xxx/yyy。然后修改例子中的Makefile,在LD_FLAGS中移除-L/usr/local/lib。然后調(diào)用make clean, make進(jìn)行編譯。

關(guān)于在linux中安裝go語言版本的grpc (這里不包括安裝protoc,如果你需要安裝protoc,可以參考博客中的《在linux中安裝protobuf編譯器和運(yùn)行時(shí)環(huán)境》)

首先確保你使用的go語言版本為go1.6或者更高。你可以調(diào)用如下命令:

$ go version

安裝grpc

安裝方法為:

$ go get -u google.golang.org/grpc

如果上述命令出現(xiàn)超時(shí)的問題,你可以采取下面的方式:

$ git clone https://github.com/grpc/grpc-go.git $GOPATH/src/google.golang.org/grpc

對(duì)于其中的golang.org/x/net,你也需要做類似的操作:

$ git clone https://github.com/golang/net.git $GOPATH/src/golang.org/x/net

對(duì)于使用go1.11及以上版本的,可以考慮使用go mod的replace特性來創(chuàng)建golang.org包的一個(gè)別名(這個(gè)我沒有實(shí)際操作過)。在你的項(xiàng)目目錄調(diào)用:

$ go mod edit -replace=google.golang.org/grpc=github.com/grpc/grpc-go@latest

$ go mod tidy

$ go mod vendor

$ go build -mod=vendor

對(duì)于需要使用的golang.org/x/net庫,也需要做類似的操作。

有疑問加站長微信聯(lián)系(非本文作者)

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的linux下grpc安装编译,linux下安装grpc插件 (c++和go语言)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。