brew安裝指定版本的軟件


 

  • 原文:https://www.jianshu.com/p/aadb54eac0a8
  • 在mac中使用 brew install 安裝的軟件默認都是最新版本的。有時候我們需要舊版本(指定版本)的時候,應該怎么做呢?
  • 由於在學習 thrift 的過程中,希望安裝 0.9.3 版本的 thrift ,但是默認 brew install thrift 安裝的是 0.10.0 版本,所以就查看了下 brew install 是如何進行安裝的。

安裝源


  • 其實安裝主要應該是先找到對應的軟件安裝源,以前沒有認真看 brew 是如何找這個源的,今天使用命令 brew info thrift 看了下,發現是有一個 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
  • 可以看到,我這里是已經安裝好的,第一行顯示了 brew 使用的 bottled 里的 thrift0.10.0 版本!而我安裝的為 0.9.3 版本,在第4行中有路徑。第6行顯示了 From !這個很重要。
  • 在我沒安裝之前,我查找到了這個 From ,然后在瀏覽器中打開了 https://github.com/Homebrew/homebrew-core。並找到對應的文件:Formula/thrift.rb ,發現這里其實是一個 ruby文件,打開后看到了下面主要的信息:
url "https://www.apache.org/dyn/closer.cgi?path=/thrift/0.10.0/thrift-0.10.0.tar.gz" sha256 "2289d02de6e8db04cbbabb921aeb62bfe3098c4c83f36eec6c31194301efa10b" 
  • 看到這基本知道了軟件安裝源的相關信息了。所以,不同版本的 thrift.rb 中應該是包含對應版本的軟件源 urlsha256 的。接下來查看 thrift.rb 文件修改歷史,提示太多,所以簡單粗暴的直接將 homebrew-core 整個倉庫 git clone 了下來:
git clone git@github.com:Homebrew/homebrew-core.git
  • 有了本地clone的倉庫,直接查看對應 0.9.3 版本的 thrift.rb 文件log:
git log ./Formula/thrift.rb | less
  • 找到后搜索 0.9.3 就可以定位到對應的 commit,然后獲取到 commmit : 9d524e4。接下來切換到對應的 commit :
git checkout 9d524e4
  • 查看了下 ./Formula/thrift.rb ,發現此時里面的 urlsha256 變成了如下:
url "https://www.apache.org/dyn/closer.cgi?path=/thrift/0.9.3/thrift-0.9.3.tar.gz"
sha256 "b0740a070ac09adde04d43e852ce4c320564a292f26521c46b78e0641564969e"
  • 可以看到,此時的版本正是需要的,接下來執行 brew 安裝命令進行安裝 0.9.3 版本:
# 這里直接指定了 rb 文件,自己嘗試了下,發現果然 OK
brew install ./Formula/thrift.rb
  • 大功告成!


作者:乾九二
鏈接:https://www.jianshu.com/p/aadb54eac0a8
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM