如何使用 Homebrew 安裝指定版本的工具
Homebrew 是壹個 Mac 下的安裝管理 Unix 工具的工具。安裝好之後,在命令行下使用 brew install FORMULANAME就可以安裝 FORMULANAME 對應的工具,它會處理好依賴關系,非常方便。默認情況下,安裝最新版本。 但是在某些情況下,我們可能需要安裝“舊”版本的工具,或者說安裝指定/特定版本的工具,該怎麽辦呢?還好,Homebrew 已經提供了這類的支持。 今天安裝 gsl 這個 rubygem ,編譯本地庫時失敗了。我機器的環境是: gsl-1.15 ruby-1.9.3p125 其中 gsl 是使用 brew install gsl 安裝的,安裝了最新的1.15版本。執行 gem install gsl 時的壹條錯誤信息是: conflicting types for ‘gsl_matrix_complex_equal’ 於是順著這條錯誤信息 Google ,發現很多人都遇到這個問題了。有人說,應該安裝 gsl-1.14 而不是 gsl-1.15 。而最新的 gem 版本為 1.14.7 。看來很可能是版本不兼容。 所以我需要給 gsl 降級。 由於 gsl 是通過 Homebrew 安裝的,所以需要找到安裝特定版本工具的方法。於是在 Stackoverflow 上找到了方法。其實很簡單: 1. 查看 brew 支持哪些版本的 gsl $ brew versions gsl 1.15 git checkout 164c57f /usr/local/Library/Formula/gsl.rb 1.14 git checkout 83ed494 /usr/local/Library/Formula/gsl.rb 1.13 git checkout b0b2584 /usr/local/Library/Formula/gsl.rb 非常幸運,1.14 包括在內。 2. 進入 brew 所在的git倉庫 cd `brew --prefix` 3. 復制粘貼剛才 brew versions sql 命令的提示。執行 git checkout 83ed494 /usr/local/Library/Formula/gsl.rb 4. 此時安裝使用 brew install gsl 會提示錯誤 Error: gsl-1.15 already installed To install this version, first `brew unlink gsl' 因此需要先取消之前的鏈接,執行 brew unlink gsl 提示 Unlinking /usr/local/Cellar/gsl/1.15... 16 links removed 5. 安裝成功 brew install gsl