2012-11-20 8 views
129

मैं कुछ /usr/local/Cellar/libfoo/1.0.1, /usr/local/Cellar/libfoo/HEAD और /usr/local/Cellar/libfoo/mycopyमैं एक विशिष्ट संस्करण को कैसे बना सकता हूं?

मैं किसी विशिष्ट संस्करण के लिए लिंक काढ़ा कर सकते हैं की तरह /usr/local/Cellar/libfoo में एक ही पैकेज के केग है?

उत्तर

242

उपयोग की जानकारी:

Usage: brew switch <formula> <version> 

उदाहरण:

brew switch mysql 5.5.29 

आप संस्करणों info के साथ अपने सिस्टम पर स्थापित पा सकते हैं।

brew info mysql 

और उपलब्ध संस्करणों को देखने के लिए स्थापित करने के लिए, आप एक व्यर्थ संस्करण संख्या प्रदान कर सकते हैं के रूप में काढ़ा सहायक उपलब्ध संस्करण संख्या के साथ जवाब देंगे:

brew switch mysql 0 

अद्यतन (15.10। 2014):

brew versions आदेश ब्रू से हटा दिया गया है, लेकिन, यदि आप इस आदेश का उपयोग करना चाहते हैं तो पहले brew tap homebrew/boneyard

एक पुराने संस्करण स्थापित करने के लिए सुझाया गया तरीका इस प्रकार homebrew/versions रेपो से स्थापित करने के लिए है:

$ brew tap homebrew/versions 
$ brew install mysql55 

सभी तरीकों एक सूत्र के एक पुराने संस्करण को स्थापित करने के बारे में विस्तृत जानकारी के लिए this answer पढ़ें।

+1

मैंने 15.10.2014 अद्यतन विधि का पालन किया और मेरे पथ पर /usr/local/Cellar/mysql55/5.5.40/bin जोड़ने की आवश्यकता थी। अधिकांश होमब्रू सामान में/usr/local/bin/usr/local/cellar में एक सिम्लिंक होता है ..., लेकिन अद्यतन स्थापना स्वचालित रूप से इस सिम्लिंक को नहीं जोड़ती है। – Powers

+1

आपको अभी भी स्थापित संस्करण को लिंक करने और अपने वर्तमान लिंक को ओवरराइट करने की आवश्यकता है: ब्रू लिंक --overwrite mysql55 –

12

मैंने #machomebrew में पूछा और सीखा कि आप ब्रू स्विच का उपयोग कर संस्करणों के बीच स्विच कर सकते हैं।

$ brew switch libfoo mycopy 

libfoo के संस्करण mycopy प्राप्त करने के लिए।

2

आप स्थापित किया है, उदाहरण के लिए, php 5.4 यह निम्नलिखित तरीके से 5.5 PHP के लिए स्विच किया जा सकता है:

$ 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 
4

brew switch libfoo mycopy

आप brew switch उपयोग कर सकते हैं एक ही पैकेज के संस्करणों के बीच स्विच करने के लिए , इस संस्करण स्थापित (उदाहरण मैं Cellar/sdl2/2.0.3 था के लिए सूची जाएगा अगर यह Cellar/<packagename>/

तहत संस्करणीकृत उपनिर्देशिका के रूप में स्थापित कर रहा है, मैंमें संकलित किया है)

brew info sdl2 

तो उनके बीच स्विच करने

brew switch sdl2 2.0.4 
brew info 

जानकारी अब * 2.0 के बगल में पता चलता है।4

cd $(brew --Cellar) से स्रोत से Cellar/<packagename>/<version> के तहत स्थापित करने के लिए

make install 

फिर अगर सब सही लगता है कि आप

cd ~/somewhere/src/foo-2.0.4 
./configure --prefix $(brew --Cellar)/foo/2.0.4 
make 

जांच जहां यह

make install -n 

साथ स्थापित हो जाता है उदाहरण के लिए कर सकते हैं संस्करण के बीच स्विच करें।

मैं brew version 0.9.5

0

यदि @ उपयोग कर रहा हूँ साइमन के जवाब मैक के नीचे प्रक्रिया का अनुसरण करें में से कुछ में काम नहीं कर रहा।

आप पहले से ही निम्न कमांड का प्रयोग swiftgen स्थापित किया है:

$ brew update $ brew install swiftgen

तो क्रम में निम्न चरणों का पालन पुराने संस्करण के साथ swiftgen चलाएँ।

चरण 1: brew uninstall swiftgen चरण 2: पर नेविगेट करें: https://github.com/SwiftGen/SwiftGen/releases और संस्करण के साथ swiftgen डाउनलोड: swiftgen-4.2.0.zip।

किसी भी निर्देशिका में पैकेज को अनजिप करें।

चरण 3: एक टर्मिनल में निम्नलिखित निष्पादित करें:

$ mkdir -p ~/dependencies/swiftgen 
$ cp -R ~/<your_directory_name>/swiftgen-4.2.0/ ~/dependencies/swiftgen 
$ cd /usr/local/bin 
$ ln -s ~/dependencies/swiftgen/bin/swiftgen swiftgen 
$ mkdir ~/Library/Application\ Support/SwiftGen 
$ ln -s ~/dependencies/swiftgen/templates/ ~/Library/Application\ Support/SwiftGen/ 

$ swiftgen --version 

आप मिलना चाहिए: SwiftGen v0.0 (स्टेंसिल v0.8.0, StencilSwiftKit v1.0.0, SwiftGenKit v1.0.1)

enter image description here