本篇內(nèi)容介紹了“GO的gRPC開發(fā)環(huán)境怎么部署”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
我們提供的服務(wù)有:成都做網(wǎng)站、成都網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、海拉爾ssl等。為超過千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的海拉爾網(wǎng)站制作公司
protoc是編譯工具,安裝方式是下載二進(jìn)制文件,直接復(fù)制粘貼以下命令執(zhí)行即可:
mkdir -p $GOPATH/bin \&& mkdir ~/temp-protoc-download \&& wget https://github.com/protocolbuffers/protobuf/releases/download/v3.14.0/protoc-3.14.0-linux-x86_64.zip -O ~/temp-protoc-download/protoc.zip \&& cd ~/temp-protoc-download \&& unzip protoc.zip \&& cp ./bin/protoc $GOPATH/bin/ \&& cd ~/ \&& rm -rf ~/temp-protoc-download
執(zhí)行protoc --version檢查protoc安裝是否成功:
[golang@centos7 ~]$ protoc --version libprotoc 3.14.0
實際證明,用go get命令安裝protoc-gen-go和grpc包的時候經(jīng)常提示網(wǎng)絡(luò)錯誤,于是我寫了個shell腳本,將protoc-gen-go和grpc包的源碼從GitHub下載下來,在本地編譯構(gòu)建,達(dá)到go get安裝相同的效果;
使用git clone命令下載源碼比較耗時(文件數(shù)量太多),因此我寫的腳本是下載對應(yīng)的源碼包(zip文件),再解壓,和git clone效果相同但是耗時減少很多;
因此,接下來的操作是一個腳本完成protoc-gen-go和grpc包的安裝;
執(zhí)行以下命令即可完成protoc-gen-go和grpc包的安裝:
curl -o install-grpc.sh \ https://raw.githubusercontent.com/zq2599/blog_demos/master/files/install-grpc.sh \&& chmod a+x ./install-grpc.sh \&& ./install-grpc.sh
控制臺輸出以下信息,無錯誤,表示安裝成功:
...install protoc-gen-go go: downloading google.golang.org/protobuf v1.23.0install grpcclear resourceinstall finish
在$GOPATH/bin目錄可見protoc-gen-go:
[golang@centos7 ~]$ cd $GOPATH/bin[golang@centos7 bin]$ lsprotoc protoc-gen-go
至此,gRPC開發(fā)環(huán)境已經(jīng)準(zhǔn)備完畢
protoc-gen-go和grpc包的安裝過程都在install-grpc.sh中完成,該腳本內(nèi)容如下所示,可見都是些很簡單的操作:下載源碼、解壓、構(gòu)建
#!/bin/bashmkdir ~/temp-grpc-installecho "clear old files"rm -rf $GOPATH/src/google.golang.org/grpcrm -rf $GOPATH/src/golang.org/xrm -rf $GOPATH/src/google.golang.org/protobufrm -rf $GOPATH/src/github.com/golang/protobufrm -rf $GOPATH/src/google.golang.org/genprotoecho "create directory"mkdir -p $GOPATH/src/google.golang.org/mkdir -p $GOPATH/src/golang.org/xmkdir -p $GOPATH/src/github.com/golang/echo "1. grpc"cd ~/temp-grpc-installwget https://github.com/grpc/grpc-go/archive/master.zip -O grpc-go.zip unzip grpc-go.zip -d $GOPATH/src/google.golang.org/cd $GOPATH/src/google.golang.org/ mv grpc-go-master grpcecho "2. x/net"cd ~/temp-grpc-installwget https://github.com/golang/net/archive/master.zip -O net.zip unzip net.zip -d $GOPATH/src/golang.org/x/cd $GOPATH/src/golang.org/x/ mv net-master netecho "3. x/text"cd ~/temp-grpc-installwget https://github.com/golang/text/archive/master.zip -O text.zip unzip text.zip -d $GOPATH/src/golang.org/x/cd $GOPATH/src/golang.org/x/ mv text-master textecho "4. protobuf-go"cd ~/temp-grpc-installwget https://github.com/protocolbuffers/protobuf-go/archive/master.zip -O protobuf-go.zip unzip protobuf-go.zip -d $GOPATH/src/google.golang.org/ cd $GOPATH/src/google.golang.org/mv protobuf-go-master protobufecho "5. protobuf"cd ~/temp-grpc-installwget https://github.com/golang/protobuf/archive/master.zip -O protobuf.zip unzip protobuf.zip -d $GOPATH/src/github.com/golang/cd $GOPATH/src/github.com/golang/mv protobuf-master protobufecho "6. go-genproto"cd ~/temp-grpc-installwget https://github.com/google/go-genproto/archive/master.zip -O go-genproto.zip unzip go-genproto.zip -d $GOPATH/src/google.golang.org/cd $GOPATH/src/google.golang.org/mv go-genproto-master genprotoecho "7. x/sys"cd ~/temp-grpc-installwget https://github.com/golang/sys/archive/master.zip -O sys.zip unzip sys.zip -d $GOPATH/src/golang.org/x/cd $GOPATH/src/golang.org/xmv sys-master sysecho "install protoc-gen-go"cd $GOPATH/src/github.com/golang/protobuf/protoc-gen-go/ go build go installecho "install grpc"cd $GOPATH/src/ go install google.golang.org/grpcecho "clear resource"cd ~/rm -rf ~/temp-grpc-installecho "install finish"
“GO的gRPC開發(fā)環(huán)境怎么部署”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
文章名稱:GO的gRPC開發(fā)環(huán)境怎么部署
分享網(wǎng)址:http://jinyejixie.com/article46/iicjeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、、企業(yè)網(wǎng)站制作、營銷型網(wǎng)站建設(shè)、品牌網(wǎng)站制作、用戶體驗
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)