Mac 安裝thrift指定版本(0.9.2)

1、前言

Apache Thrift,它采用接口描述語言定義并創(chuàng)建服務,支持可擴展的跨語言服務開發(fā),所包含的代碼生成引擎可以在多種語言中,如 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk 等創(chuàng)建高效的、無縫的服務,其傳輸數(shù)據(jù)采用二進制格式,相對 XML 和 JSON 體積更小,對于高并發(fā)、大數(shù)據(jù)量和多語言的環(huán)境更有優(yōu)勢。

前段時間,花了將近3個小時才正確安裝thrift,特此記錄正確安裝過程,以幫助有需要的同學。

2、前提

本文假設(shè)你以正確安裝 brew,git

3、安裝過程

3.1、下載homebrew-core(任意目錄)

git clone git@github.com: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: https://www-us.apache.org/dist/thrift/0.9.2/thrift-0.9.2.tar.gz

發(fā)現(xiàn)是文件路徑已經(jīng)變了,第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>

忽略即可,此時已經(jīng)安裝成功

5、最后

Thrift各版本之間不兼容,很是影響用戶體驗。但由于其高效、跨語言的特性,仍在企業(yè)中有大量應用。如果你跟我一樣,那么此時本機已經(jīng)正確安裝Thrift,酣暢淋漓的使用它吧

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容