Mac 安裝thrift指定版本(0.9.2)
1、前言
Apache Thrift,它採用介面描述語言定義並建立服務,支援可擴充套件的跨語言服務開發,所包含的程式碼生成引擎可以在多種語言中,如 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk 等建立高效的、無縫的服務,其傳輸資料採用二進位制格式,相對 XML 和 JSON 體積更小,對於高併發、大資料量和多語言的環境更有優勢。
前段時間,花了將近3個小時才正確安裝thrift,特此記錄正確安裝過程,以幫助有需要的同學。
2、前提
本文假設你以正確安裝 brew,git
3、安裝過程
3.1、下載homebrew-core(任意目錄)
git clone [email protected]:Homebrew/homebrew-core.git
3.2、將程式碼切換至對應版本
進入程式碼目錄,檢視0.9.2對應commit,並切換至該commit
cd homebrew-core git log git checkout 6ae86d4a56e63c29cc9260cbc340bad71e56bee8 -b version0.9.2.bottle
3.3、修改Formula/thrift.rb
修改 Formula/thrift.rb的27行,diff 如下
--- a/Formula/thrift.rb +++ b/Formula/thrift.rb @@ -24,7 +24,8 @@ class Thrift < Formula bottle do cellar :any - revision 1 + # revision 1 + rebuild 1
3.4、安裝
brew install Formula/thrift.rb
3.5、檢視版本
此時在任意位置輸入如下命令:
thrift -version
若能正確顯示 #顯示:Thrift version 0.9.2 則安裝成功
4、可能碰到的問題
下方提到的改動,均指 Formula/thrift.rb
4.1、Error: thrift: Unsupported special dependency :python
53行 改成depends_on "python" => :optional
4.2、Failed to download resource "thrift" Download failed:ofollow,noindex">https://www-us.apache.org/dist/thrift/0.9.2/thrift-0.9.2.tar.gz
發現是檔案路徑已經變了,第8行 改成 url "http://archive.apache.org/dist/thrift/0.9.2/thrift-0.9.2.tar.gz "
4.3、An exception occurred within a child process: NoMethodError: undefined method `j1' for #<Object:0x00000001010c2180>
直接把這個註釋了,78行 # ENV.j1
4.4、Error: undefined method `undent' for #<String:0x0000000102c5b900>
忽略即可,此時已經安裝成功
5、最後
Thrift各版本之間不相容,很是影響使用者體驗。但由於其高效、跨語言的特性,仍在企業中有大量應用。如果你跟我一樣,那麼此時本機已經正確安裝Thrift,酣暢淋漓的使用它吧