1F7D7052E69E7E73B2EFE8069E735526.jpg
- 在mac中使用
brew install
安裝的軟件默認(rèn)都是最新版本的蟋字。有時(shí)候我們需要舊版本(指定版本)的時(shí)候鹊奖,應(yīng)該怎么做呢涂炎? - 由于在學(xué)習(xí)
thrift
的過程中唱捣,希望安裝0.9.3
版本的thrift
,但是默認(rèn)brew install thrift
安裝的是0.10.0
版本垫竞,所以就查看了下brew install
是如何進(jìn)行安裝的蛀序。
安裝源
- 其實(shí)安裝主要應(yīng)該是先找到對(duì)應(yīng)的軟件安裝源徐裸,以前沒有認(rèn)真看
brew
是如何找這個(gè)源的重贺,今天使用命令brew info thrift
看了下,發(fā)現(xiàn)是有一個(gè)From
的:
$> brew info thrift
thrift: stable 0.10.0 (bottled), HEAD
Framework for scalable cross-language services development
https://thrift.apache.org/
/usr/local/Cellar/thrift/0.9.3 (95 files, 5.7M) *
Poured from bottle on 2017-02-08 at 19:52:24
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/thrift.rb
==> Dependencies
Build: bison ?
Required: boost ?, openssl ?
Optional: libevent ?
==> Requirements
Optional: python ?
==> Options
--with-erlang
Install Erlang binding
--with-haskell
Install Haskell binding
--with-java
Install Java binding
--with-libevent
Install nonblocking server libraries
--with-perl
Install Perl binding
--with-php
Install PHP binding
--with-python
Build with python support
--HEAD
Install HEAD version
==> Caveats
To install Ruby binding:
gem install thrift
To install PHP extension for e.g. PHP 5.5:
brew install homebrew/php/php55-thrift
- 可以看到次企,我這里是已經(jīng)安裝好的缸棵,第一行顯示了
brew
使用的bottled
里的thrift
為0.10.0
版本堵第!而我安裝的為0.9.3
版本隧出,在第4行中有路徑。第6行顯示了From
针余!這個(gè)很重要圆雁。 - 在我沒安裝之前摸柄,我查找到了這個(gè)
From
既忆,然后在瀏覽器中打開了 https://github.com/Homebrew/homebrew-core患雇。并找到對(duì)應(yīng)的文件:Formula/thrift.rb
,發(fā)現(xiàn)這里其實(shí)是一個(gè) ruby文件酪术,打開后看到了下面主要的信息:
url "https://www.apache.org/dyn/closer.cgi?path=/thrift/0.10.0/thrift-0.10.0.tar.gz"
sha256 "2289d02de6e8db04cbbabb921aeb62bfe3098c4c83f36eec6c31194301efa10b"
- 看到這基本知道了軟件安裝源的相關(guān)信息了绘雁。所以,不同版本的
thrift.rb
中應(yīng)該是包含對(duì)應(yīng)版本的軟件源url
和sha256
的庐舟。接下來查看thrift.rb
文件修改歷史挪略,提示太多滔岳,所以簡(jiǎn)單粗暴的直接將homebrew-core
整個(gè)倉(cāng)庫(kù)git clone
了下來:
git clone git@github.com:Homebrew/homebrew-core.git
- 有了本地clone的倉(cāng)庫(kù),直接查看對(duì)應(yīng)
0.9.3
版本的thrift.rb
文件log:
git log ./Formula/thrift.rb | less
- 找到后搜索
0.9.3
就可以定位到對(duì)應(yīng)的commit
摊求,然后獲取到commmit
:9d524e4
趴俘。接下來切換到對(duì)應(yīng)的commit
:
git checkout 9d524e4
- 查看了下
./Formula/thrift.rb
寥闪,發(fā)現(xiàn)此時(shí)里面的url
和sha256
變成了如下:
url "https://www.apache.org/dyn/closer.cgi?path=/thrift/0.9.3/thrift-0.9.3.tar.gz"
sha256 "b0740a070ac09adde04d43e852ce4c320564a292f26521c46b78e0641564969e"
- 可以看到疲憋,此時(shí)的版本正是需要的,接下來執(zhí)行
brew
安裝命令進(jìn)行安裝0.9.3
版本:
# 這里直接指定了 rb 文件埃脏,自己嘗試了下搪锣,發(fā)現(xiàn)果然 OK
brew install ./Formula/thrift.rb
- 大功告成!