ubuntu16安裝最新protocbuf 和 protoc-gen-go

簡言

1. protobuf(protocol buffer)是google 的一種數據交換的格式,它獨立於語言,獨立於平臺。google 提供了多種語言的實現:java、c#、c++、go 和 python,每一種實現都包含了相應語言的編譯器以及庫文件。 protoc是Protobuf編譯出來的可執行程序

2. protoc-gen-go是go語言版本的 protobuf 編譯器插件,也就是說想把.proto的協議文件編譯成.go文件,需要這個插件才行

 

步驟1

git clone https://github.com/protocolbuffers/protobuf.git

步驟2
cd protobuf

步驟3
git submodule update --init --recursive

步驟4,此步驟若報錯 autoreconf: not found,則執行命令 sudo apt-get install autoconf automake libtool 再執行 ./autogen.sh 即可
./autogen.sh

步驟5
./configure

步驟6
make

步驟7
make check

步驟8
sudo make install

步驟9
sudo ldconfig


上面步驟都運行成功了,這時通過下面的命令查看當前版本信息:

protoc --version
以我的電腦爲例,會輸出:

libprotoc 3.11.2

下面開始安裝 protoc-gen-go

步驟10(這樣是安裝最新的protoc-gen-go)

若想安裝指定版本的protoc-gen-go,請參考這篇博客:https://blog.csdn.net/yzf279533105/article/details/104416459

若有網,則直接運行命令 go get -u github.com/golang/protobuf/protoc-gen-go ,完成後便可在$GOPATH/bin目錄下發現這個工具

若無網,則首先在github.com/golang/protobuf上下載protoc-gen-go和proto,(最好將其放在$GOPATH/src目錄下)然後進入protoc-gen-go目錄,執行go build、go install即可在$GOPATH/bin目錄下發現這個工具。前提是必須首先將$GOPATH/bin路徑添加到環境變量$PATH中

懶人做法:上述可能會出現找不到某些依賴文件,直接從一臺能訪問網絡且安裝完成的服務器上打包github.com,然後sz、rz到無網絡服務器,解壓到$GOPATH/src目錄下,go build、go install即可

 

PS:若要使用 grpc 以及 grpc-gateway 還要執行下面的操作

go get -u github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway
go get -u github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger

發佈了105 篇原創文章 · 獲贊 58 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章