Mac下安裝Thrift 以及問題解決

今天遇到 thrift 的需求,因而安裝了一下 Apache 的 Thrift,發現安裝過程很艱辛,把遇到的坑整理一下,讓大家減小浪費一些時間php

常規方法

使用brew安裝Thrifthtml

brew install thrift

可是這個方法只能安裝 brew 中存在的版本,當前只有最新版 0.12.0 和 0.9.0 這兩個版本,若是想安裝其餘版本,仍是要經過官網方法安裝java

官網方法

首先,下載源碼,能夠經過 官網文件列表 查找對應版本;若是官網較慢,也能夠經過 鏡像網站 來查找node

而後解壓,進入目錄,執行以下命令便可python

./configure && make

當安裝完成後,可使用以下命令,來檢測是否安裝好了apache

thrift --version

問題 · 解決

首先是安裝依賴問題,若是遇到像:npm

Bison version 2.5 or higher must be installed on the system!

這樣的報錯,能夠用以下方法(參考自 mac安裝thrift ):ruby

brew install bison

# 注意這裏改爲本身的路徑
# 這是一個臨時的環境變量,關閉終端會失效
PATH="/usr/local/Cellar/bison/3.0.4_1/bin/:$PATH"

網上還會搜到其餘的方法,也能夠參考 Mac安裝thrift因bison報錯的解決辦法 。可是感受仍是上面的方法更簡單工具

若是遇到這樣的報錯:post

src/thrift/transport/TSSLSocket.cpp:43:10: fatal error: 'openssl/opensslv.h' file not found

可使用以下方法,參考自 Dive Into Thrift Node-安裝

brew install openssl # 若是已安裝,則進行下一步
brew install pkg-config # 若是已安裝,則進行下一步

brew link openssl --force
# 執行此命令,系統會提示有多個方法能夠選擇,咱們能夠選 pkg-config 的方法
# 即執行 export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig"

pkg-config 的介紹 理解 Linux中的pkg-config 工具

以後執行官網安裝步驟:

由於 Thrift 支持多種語言,但咱們通常只須要一種語言就夠了,因此咱們能夠把其餘語言都不選,避免由於其餘語言的各類問題帶來報錯:

./configure LDFLAGS='-L/usr/local/opt/openssl/lib' CPPFLAGS='-I/usr/local/opt/openssl/include' --with-nodejs=yes --with-qt4=no --with-qt5=no --with-openssl=DIR --with-csharp=no --with-c_glib=no --with-java=no --with-erlang=no --with-lua=no --with-python=no --with-perl=no --with-php=no --with-php_extension=no --with-dart=no --with-ruby=no --with-haskell=no --with-go=no --with-rs=no --with-haxe=no --with-dotnetcore=no --with-d=no

若是成功了,就執行:

make

不要執行sudo命令,不然會致使npm的內部報錯

以後沒有報錯的話應該就安裝成功了

相關文章
相關標籤/搜索