什么是 protocol buffers ?
protocol buffers(協議緩沖區)是Google開發的與語言無關,與平臺無關,可擴展的機制,用于對結構化數據進行序列化。
您只需定義一次數據的結構化方式,然后就可以使用特殊生成的源代碼,輕松地在各種數據流和各種語言之間寫入和讀取結構化數據。
下載和安裝 protocol buffer
Protoc Installation
協議緩沖區編譯器 protoc 用于編譯 .proto 文件,其中包含 服務 和 消息定義。
安裝后檢查 protoc 的版本(如下所示),以確保它足夠新。一些包管理器安裝的protoc版本可能相當過時。
從預編譯的二進制文件安裝是確保使用最新版本的protoc的最佳方法。
- Linux(命令行)
sudo apt install -y protobuf-compiler
protoc --version
- 安裝預編譯的二進制文件(any os)
- 從 https://github.com/protocolbuffers/protobuf/releases 下載與操作系統、cpu架構一致的 zip 文件。或者,向下面一樣在命令行獲取文件:
PB_REL="https://github.com/protocolbuffers/protobuf/releases" curl -LO $PB_REL/download/v3.15.8/protoc-3.15.8-linux-x86_64.zip
- 解壓文件到 $HOME/.local ,或者你選擇的其它目錄:
unzip protoc-3.15.8-linux-x86_64.zip -d $HOME/.local
- 更新 PATH 環境變量,包含protoc可執行文件的路徑
export PATH="$PATH:$HOME/.local/bin"
Go plugins for the protocol compiler
由于 prototol buffer 沒有直接支持 Go 語言,所以需要安裝插件
- 使用下面命令安裝 protocol buffer 的 Go 插件
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.26 go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.1
- 更新 PATH 環境變量,目的是 protoc 編譯器能夠找到這個插件:
export PATH="$PATH:$(go env GOPATH)/bin"