我有同樣的包在/usr/local/Cellar/libfoo
幾個小桶一樣/usr/local/Cellar/libfoo/1.0.1
,/usr/local/Cellar/libfoo/HEAD
和/usr/local/Cellar/libfoo/mycopy
如何釀造鏈接特定版本?
我怎樣才能釀造鏈接到一個特定的版本?
我有同樣的包在/usr/local/Cellar/libfoo
幾個小桶一樣/usr/local/Cellar/libfoo/1.0.1
,/usr/local/Cellar/libfoo/HEAD
和/usr/local/Cellar/libfoo/mycopy
如何釀造鏈接特定版本?
我怎樣才能釀造鏈接到一個特定的版本?
的使用信息:
Usage: brew switch <formula> <version>
例子:
brew switch mysql 5.5.29
你可以找到安裝在系統上與info
版本。
brew info mysql
並查看可用的版本安裝,你可以提供一個啞彈的版本號,BREW會幫忙,與現有的版本號迴應:
brew switch mysql 0
更新(15.10。 2014):
brew versions
命令已經從brew中刪除,但是,如果您確實希望使用此命令,請先運行brew tap homebrew/boneyard
。
安裝舊版本的推薦方法如下:從homebrew/versions
回購安裝:
$ brew tap homebrew/versions
$ brew install mysql55
有關所有安裝式的舊版本的方式的詳細信息讀取this answer。
我在#machomebrew中問過,並瞭解到您可以使用brew開關切換不同的版本。
$ brew switch libfoo mycopy
獲取libfoo的版本mycopy。
如果你已經安裝了,例如,PHP 5.4也可以通過以下方式切換到PHP 5.5:
$ php --version
PHP 5.4.32 (cli) (built: Aug 26 2014 15:14:01)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
$ brew unlink php54
$ brew switch php55 5.5.16
$ php --version
PHP 5.5.16 (cli) (built: Sep 9 2014 14:27:18)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
brew switch libfoo mycopy
您可以使用brew switch
到同一個包的不同版本之間切換,如果它安裝爲Cellar/<packagename>/
下的版本子目錄安裝這將列出安裝的版本(例如我有Cellar/sdl2/2.0.3
,我編譯成Cellar/sdl2/2.0.4
)
brew info sdl2
然後在它們之間切換
brew switch sdl2 2.0.4
brew info
信息現在顯示旁邊的2.0 *
。4
要Cellar/<packagename>/<version>
下從源代碼從cd $(brew --Cellar)
安裝例如,您可以做
cd ~/somewhere/src/foo-2.0.4
./configure --prefix $(brew --Cellar)/foo/2.0.4
make
檢查那裏得到與
make install -n
安裝,如果一切看起來正確
make install
然後在版本之間切換。
我使用brew version 0.9.5
我遵循15.10.2014更新方法,需要將/usr/local/Cellar/mysql55/5.5.40/bin添加到我的路徑中。大部分Homebrew的東西在/ usr/local/bin中有一個符號鏈接到/ usr/local/Cellar ...,但更新的安裝不會自動添加這個符號鏈接。 – Powers
您仍需要鏈接已安裝的版本並使用以下命令覆蓋當前鏈接:brew link --overwrite mysql55 –