1. 程式人生 > 其它 >protobuf版本更新 | protco報錯:Expected “required“, “optional“, or “repeated“.

protobuf版本更新 | protco報錯:Expected “required“, “optional“, or “repeated“.

技術標籤:Linux系統linuxprotocol

目錄

背景

今天用到個protobuf包來安裝東西,按照教程上指示安裝,但是報錯:

 Expected "required", "optional", or "repeated".

查了資料瞭解到,是因為版本太低導致的,2.x系列的版本才會有這些傳參。目前已經更新到3.14 Protocolbuffers-github
檢視自己的protobuf版本:

protoc --version

顯示我的版本是2.5,但是問題來了,我在公司伺服器上沒有sudo的許可權,所以沒法像正常更新一樣去安裝全域性軟體。

方法

Step1:先到 Protocolbuffers-github 上面下載個最新的release版本。(為了避免面後續的麻煩,我下載的all版本)
Step2: 解壓到自己的使用者檔案下,並且cd進解壓後的目錄。
Step3: 進行配置。

./configure prefix=/home/xxxx/protoc3

(這裡的prefix地址自己按照實際情況設定,如果沒許可權的話最好安裝在自己的目錄下,xxxx是例子。)
Step4:安裝:

make && make install

Step5:連結到個人的bash,在.profile檔案中,新增如下兩行:

export PATH=
"/home/xxxx/protoc3/bin:$PATH" export LD_LIBRARY_PATH="/home/wupeilin/xxxx/lib:$LD_LIBRARY_PATH"

儲存並且
source .profile

*注意:.profile配置對於終端來說預設是不source的,也就是說新開的終端需要重新source才能配置成功。如果比較懶的話,可以在.bashrc中新增一行: source .profile。這樣每次開終端就會自動配置。

測試

版本成功更新到3.14
在這裡插入圖片描述