thrift是一個軟體框架,用來進行可擴充套件且跨語言的服務的開發。它結合了功能強大的軟體堆疊和程式碼生成引擎,以構建在 C++, Java, Go,Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 這些程式語言間無縫結合的、高效的服務。
目前已經到0.11.0版本
0x01 準備工作
for windows
直接下載thrift 11然後加入系統PATH.
開啟命令提示符 輸入 thrift -version
即可顯示版本號,也代表安裝成功
for mac
brew也可以安裝brew install thrift
也可下原始碼手動編譯
首先需要安裝openssl
brew install openssl
install Boost
下載Boost
./bootstrap.sh
sudo ./b2 threading=multi address-model=64 variant=release stage install
複製程式碼
install libevent
下載libevent
./configure --prefix=/usr/local
make
sudo make install
複製程式碼
install apache thrift
下載thrift
./configure --prefix=/usr/local/ --with-boost=/usr/local --with-libevent=/usr/local
sudo make install
複製程式碼
如發生找不到openssl庫檔案的情況,可執行下列命令
sudo ln -s /usr/local/openssl/include/openssl /usr/include/openssl
複製程式碼
如果報錯Bison version 2.5 or higher must be installed on the system
請先使用brew install bison 升級到最新版本
然後切換到目錄\
cd /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
sudo mv bison bison.bak
sudo cp /usr/local/Cellar/bison/3.0.4/bin/bison ./
//然後再執行切換到thrift目錄
sudo make install
//然後再切換回來
sudo mv bison.bak bison
複製程式碼
下載支援庫
go get git.apache.org/thrift.git/lib/go/thrift
注: git直接下載下來為master版本,請切換至0.11.0分支(IDL編譯工具要與支援庫一致,否則會有故障)
cd git.apache.org/thrift.git
git checkout 0.11.0
複製程式碼
0x02 開始使用
thrift --out .. --gen go xxxx.thrift
複製程式碼
WARNING: thrift版本一定要與庫版本一樣.否則會發生未知錯誤
完
tip:謹以此文,獻給暴漫,這次大概是真的涼了.荊軻刺秦王