protobuf版本更新 | protco報錯:Expected “required“, “optional“, or “repeated“.
阿新 • • 發佈:2021-02-08
目錄
背景
今天用到個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