सवाल होमब्रू सूत्र के विशिष्ट संस्करण स्थापित करें?


मैं होमब्री में सूत्र के एक विशिष्ट संस्करण को कैसे स्थापित करूं? उदाहरण के लिए, नवीनतम 9.0 के बजाय postgresql-8.4.4।


1713
2017-10-21 12:58


मूल


इन निर्देशों का पालन करें: effectif.com/mac-os-x/...। - Alex Sharp
चेक stackoverflow.com/a/3949908/3256989 - ultraon
वर्षों से, जवाब विकसित हुआ। 2018 के उपयोग के रूप में nodejs उदहारण के लिए: brew search node@ फिर brew install node@8 - MarkHu


जवाब:


(मैंने होमब्री के साथ पुराने सॉफ्टवेयर संस्करणों को स्थापित / उपयोग करने के लिए एक अधिक व्यापक वर्कफ़्लो देने के लिए अपना उत्तर दोबारा संपादित कर दिया है। यदि आपको पुराना संस्करण बेहतर लगता है तो एक नोट जोड़ने के लिए स्वतंत्र महसूस करें।)

चलो सबसे सरल मामले से शुरू करते हैं:

1) जांचें, क्या संस्करण पहले से स्थापित है (लेकिन सक्रिय नहीं है)

जब होमब्री एक नया सूत्र स्थापित करता है, तो यह इसे एक संस्करण वाली निर्देशिका में रखता है /usr/local/Cellar/postgresql/9.3.1। इस फ़ोल्डर के लिए केवल प्रतीकात्मक लिंक वैश्विक स्तर पर स्थापित किए जाते हैं। सिद्धांत रूप में, यह दो स्थापित संस्करणों के बीच स्विच करना बहुत आसान बनाता है। (*)

यदि आप लंबे समय तक होमब्री का उपयोग कर रहे हैं और पुराने संस्करणों को कभी नहीं हटाते हैं (उदाहरण के लिए, उदाहरण के लिए brew cleanup), संभावना है कि आपके प्रोग्राम का कुछ पुराना संस्करण अभी भी आसपास हो सकता है। यदि आप बस उस पिछले संस्करण को सक्रिय करना चाहते हैं, brew switch ऐसा करने का सबसे आसान तरीका है।

इससे जाँच करें brew info postgresql (या brew switch postgresql <TAB>) क्या पुराना संस्करण स्थापित है:

$ brew info postgresql
postgresql: stable 9.3.2 (bottled)
http://www.postgresql.org/
Conflicts with: postgres-xc
/usr/local/Cellar/postgresql/9.1.5 (2755 files, 37M)
  Built from source
/usr/local/Cellar/postgresql/9.3.2 (2924 files, 39M) *
  Poured from bottle
From: https://github.com/Homebrew/homebrew/commits/master/Library/Formula/postgresql.rb
# … and some more

हम देखते हैं कि कुछ पुराने संस्करण पहले ही स्थापित हैं। हम इसका उपयोग कर सक्रिय कर सकते हैं brew switch:

$ brew switch postgresql 9.1.5
Cleaning /usr/local/Cellar/postgresql/9.1.5
Cleaning /usr/local/Cellar/postgresql/9.3.2
384 links created for /usr/local/Cellar/postgresql/9.1.5

आइए सक्रिय करें कि सक्रिय क्या है:

$ brew info postgresql
postgresql: stable 9.3.2 (bottled)
http://www.postgresql.org/
Conflicts with: postgres-xc
/usr/local/Cellar/postgresql/9.1.5 (2755 files, 37M) *
  Built from source
/usr/local/Cellar/postgresql/9.3.2 (2924 files, 39M)
  Poured from bottle
From: https://github.com/Homebrew/homebrew/commits/master/Library/Formula/postgresql.rb
# … and some more

ध्यान दें कि स्टार * नए सक्रिय संस्करण में स्थानांतरित हो गया है

(*) कृपया ध्यान दें कि brew switch केवल तब तक काम करता है जब तक कि पुराने संस्करण की सभी निर्भरताएं अभी भी आसपास न हों। कुछ मामलों में, पुराने संस्करण का पुनर्निर्माण आवश्यक हो सकता है। इसलिए, का उपयोग कर brew switch ज्यादातर उपयोगी होता है जब कोई दो संस्करणों के बीच स्विच करना चाहता है जो बहुत दूर नहीं है।

2) जांचें, क्या संस्करण टैप के रूप में उपलब्ध है या नहीं

विशेष रूप से बड़ी सॉफ्टवेयर परियोजनाओं के लिए, यह बहुत संभव है कि सॉफ़्टवेयर के एक निश्चित टुकड़े के कई (संभावित रूप से एपीआई असंगत) प्रमुख संस्करणों की पर्याप्त मांग है। मार्च 2012 तक, होमब्रू 0.9 इसके लिए एक तंत्र प्रदान करता है: brew tap और होमब्रू संस्करण भंडार।

उन संस्करणों में भंडार में कई सूत्रों के लिए पुराने संस्करणों के बैकपोर्ट शामिल हो सकते हैं। (ज्यादातर बड़े और मशहूर लोग, लेकिन निश्चित रूप से उनके पास पोस्टग्रेस्क्ल के लिए कई सूत्र भी होंगे।)

brew search postgresql आपको दिखाएगा कि कहां देखना है:

$ brew search postgresql
postgresql
homebrew/versions/postgresql8    homebrew/versions/postgresql91
homebrew/versions/postgresql9    homebrew/versions/postgresql92

हम इसे टाइप करके बस इंस्टॉल कर सकते हैं

$ brew install homebrew/versions/postgresql8
Cloning into '/usr/local/Library/Taps/homebrew-versions'...
remote: Counting objects: 1563, done.
remote: Compressing objects: 100% (943/943), done.
remote: Total 1563 (delta 864), reused 1272 (delta 620)
Receiving objects: 100% (1563/1563), 422.83 KiB | 339.00 KiB/s, done.
Resolving deltas: 100% (864/864), done.
Checking connectivity... done.
Tapped 125 formula
==> Downloading http://ftp.postgresql.org/pub/source/v8.4.19/postgresql-8.4.19.tar.bz2
# …

ध्यान दें कि यह स्वचालित रूप से है उपयोग किया  homebrew/versions नल टोटी। (इससे जाँच करें brew tapके साथ हटा दें brew untap homebrew/versions।) निम्नलिखित बराबर होगा:

$ brew tap homebrew/versions
$ brew install postgresql8

जब तक बैकपोर्टेड संस्करण सूत्र अद्यतित रहते हैं, तब तक यह दृष्टिकोण पुराने सॉफ्टवेयर से निपटने का सबसे अच्छा तरीका है।

3) अतीत से कुछ सूत्र का प्रयास करें

निम्नलिखित दृष्टिकोण ज्यादातर पूर्णता के लिए सूचीबद्ध हैं। दोनों ब्रू रिपोजिटरी से कुछ मरे हुए सूत्र को पुनर्जीवित करने का प्रयास करते हैं। परिवर्तित निर्भरताओं के कारण, फॉर्मूला spec में एपीआई परिवर्तन या डाउनलोड यूआरएल में बस एक बदलाव, चीजें काम कर सकती हैं या नहीं भी हो सकती हैं।

चूंकि संपूर्ण सूत्र निर्देशिका एक गिट भंडार है, इसलिए कोई सादा गिट कमांड का उपयोग करके विशिष्ट संस्करण स्थापित कर सकता है। हालांकि, हमें उस प्रतिबद्धता को पाने का एक तरीका ढूंढना होगा जहां पुराना संस्करण उपलब्ध था।

ए) ऐतिहासिक समय

के बीच अगस्त 2011 और अक्टूबर 2014, होमब्री एक था brew versions कमांड, जो अपने संबंधित एसएचए हैंश के साथ सभी उपलब्ध संस्करणों को बाहर निकाल देता है। अक्टूबर 2014 तक, आपको एक करना है brew tap homebrew/boneyard इससे पहले कि आप इसका इस्तेमाल कर सकें। जैसा कि टैप के नाम से पता चलता है, आपको शायद इसे अंतिम उपाय के रूप में ही करना चाहिए।

जैसे

$ brew versions postgresql
Warning: brew-versions is unsupported and may be removed soon.
Please use the homebrew-versions tap instead:
  https://github.com/Homebrew/homebrew-versions
9.3.2    git checkout 3c86d2b Library/Formula/postgresql.rb
9.3.1    git checkout a267a3e Library/Formula/postgresql.rb
9.3.0    git checkout ae59e09 Library/Formula/postgresql.rb
9.2.4    git checkout e3ac215 Library/Formula/postgresql.rb
9.2.3    git checkout c80b37c Library/Formula/postgresql.rb
9.2.2    git checkout 9076baa Library/Formula/postgresql.rb
9.2.1    git checkout 5825f62 Library/Formula/postgresql.rb
9.2.0    git checkout 2f6cbc6 Library/Formula/postgresql.rb
9.1.5    git checkout 6b8d25f Library/Formula/postgresql.rb
9.1.4    git checkout c40c7bf Library/Formula/postgresql.rb
9.1.3    git checkout 05c7954 Library/Formula/postgresql.rb
9.1.2    git checkout dfcc838 Library/Formula/postgresql.rb
9.1.1    git checkout 4ef8fb0 Library/Formula/postgresql.rb
9.0.4    git checkout 2accac4 Library/Formula/postgresql.rb
9.0.3    git checkout b782d9d Library/Formula/postgresql.rb

जैसा कि आप देख सकते हैं, यह इसका उपयोग करने के खिलाफ सलाह देता है। होमब्रू अपने आंतरिक ह्युरिस्टिक के साथ मिल सकने वाले सभी संस्करणों को थकाता है और आपको पुराने सूत्रों को पुनर्प्राप्त करने का एक तरीका दिखाता है। चलो यह कोशिश करते हैं।

# First, go to the homebrew base directory
$ cd $( brew --prefix )
# Checkout some old formula
$ git checkout 6b8d25f Library/Formula/postgresql.rb
$ brew install postgresql
# … installing

अब जब पुराना पोस्टग्रेस्क्ल संस्करण स्थापित है, तो हम अपने भंडार को साफ रखने के लिए नवीनतम सूत्र को फिर से इंस्टॉल कर सकते हैं:

$ git checkout -- Library/Formula/postgresql.rb

brew switch क्या आपका दोस्त पुराने और नए के बीच बदलना है।

बी) प्रागैतिहासिक काल

विशेष जरूरतों के लिए, हम होमब्रे रेपो के माध्यम से अपनी खुदाई भी कर सकते हैं।

$ git log -S'8.4.4' -- Library/Formula/postgresql.rb

git log -S स्ट्रिंग में सभी काम करता है '8.4.4' या तो फ़ाइल में जोड़ा या हटा दिया गया था Library/Formula/postgresql.rb। परिणामस्वरूप हमें दो काम मिलते हैं।

commit 7dc7ccef9e1ab7d2fc351d7935c96a0e0b031552
Author: Aku Kotkavuo
Date:   Sun Sep 19 18:03:41 2010 +0300

    Update PostgreSQL to 9.0.0.

    Signed-off-by: Adam Vandenberg

commit fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422
Author: David Höppner
Date:   Sun May 16 12:35:18 2010 +0200

    postgresql: update version to 8.4.4

जाहिर है, fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422 वह प्रतिबद्धता है जिसमें हम रुचि रखते हैं। चूंकि यह प्रतिबद्धता बहुत पुरानी है, हम पूरी होमब्रू स्थापना को डाउनग्रेड करने का प्रयास करेंगे (इस तरह, फॉर्मूला एपीआई वैध होने की गारंटी कम है):

$ git checkout -b postgresql-8.4.4 fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422
$ brew install postgresql
$ git checkout master
$ git branch -d postgresql-8.4.4

आप अपने गिट भंडार में संदर्भ रखने के लिए अंतिम आदेश छोड़ सकते हैं।

एक नोट: पुराने प्रतिबद्धता की जांच करते समय, आप अस्थायी रूप से अपने होमब्रू स्थापना को डाउनग्रेड करते हैं। इसलिए, आपको सावधान रहना चाहिए क्योंकि होमब्री में कुछ कमांड नवीनतम संस्करण के लिए अलग हो सकते हैं।

4) मैन्युअल रूप से एक सूत्र लिखें

यह बहुत कठिन नहीं है और फिर आप इसे अपलोड कर सकते हैं Homebrew-संस्करण

ए) बोनस: पिनिंग

यदि आप एक निश्चित संस्करण रखना चाहते हैं, तो postgresql कहें, आस-पास और इसे प्राकृतिक होने पर अद्यतन होने से रोकें brew update; brew upgrade प्रक्रिया, आप कर सकते हैं पिन एक सूत्र:

$ brew pin postgresql

पिन किए गए सूत्र सूचीबद्ध हैं /usr/local/Library/PinnedKegs/ और एक बार जब आप नवीनतम परिवर्तन और अपडेट लाने के लिए चाहते हैं, तो आप कर सकते हैं खोल देना यह फिर से:

$ brew unpin postgresql

2120
2017-11-11 20:04



आप बस सूत्र का उपयोग कर चेकआउट भी देख सकते हैं git checkout fa992 -- Library/Formula/postgresql.rb। जब आप पूरा कर लेंगे, तो आप सूत्र का उपयोग करके परिवर्तनों को पूर्ववत कर सकते हैं git revert HEAD Library/Formula/postgresql.rb && git checkout -- Library/Formula/postgresql.rb। - mipadi
नोट: एक ताजा होमब्रू इंस्टॉल पर, आपको इसकी आवश्यकता हो सकती है brew update अपने गिट रेपो स्थापित करने के लिए। - Bluu
ऐसा लगता है कि brew versions अब और काम नहीं करता है? - jrmgx
यह हास्यास्पद रूप से मुश्किल है। - Dogweather
आज तक, भंडार के खिलाफ मैन्युअल आदेश निष्पादित करने के लिए सही निर्देशिका है cd $(brew --repository)/Library/Taps/homebrew/homebrew-core, तो आप इसका उपयोग कर सकते हैं git checkout 4cce79d -- Formula/go.rb तथा HOMEBREW_NO_AUTO_UPDATE=1 brew install go। - Calin


सरल वर्कफ़्लो

अब जब होमब्रू / संस्करणों को हटा दिया गया है, होमब्रू / कोर एक नए नामकरण प्रारूप के साथ सूत्रों के कई संस्करणों का समर्थन करता है।

एक विशिष्ट संस्करण स्थापित करने के लिए, उदा। postgresql 9.5 आप बस भागते हैं:

$ brew install postgresql@9.5

उपलब्ध संस्करणों को सूचीबद्ध करने के लिए @ के साथ एक खोज चलाएं:

$ brew search postgresql@
==> Searching local taps...
postgresql@10.1      postgresql@9.4        postgresql@9.5        postgresql@9.6

633
2018-03-22 23:29



सबसे सरल लगता है, लेकिन जब मैं कॉपी और पेस्ट करता हूं, तो मिलता है fatal: Not a git repository (or any of the parent directories): .git। मैं तो बस cd इसके बजाय निर्देशिका में (FORMULANAME.rb के बिना), फिर करें git checkout 120938 - Ramon Tayag
@ रैमन टायग, मुझे एक ही समस्या थी। के लिए सुनिश्चित हो cd /usr/local प्रथम। - gjb
मैंने पाया कि आपको एक चरण 3.5 की आवश्यकता है: brew unlink FORMULANAME - Intentss
brew versions <formula>अब समर्थित नहीं है। - Emmanuel Joubaud
@ dem7w2, आप सिम्लिंक बना सकते हैं brew link --force postgresql@9.5। यदि आपके पास पहले से ही एक नया संस्करण स्थापित है और पुराने संस्करण को आपका डिफ़ॉल्ट होना चाहते हैं, तो आपको एक की आवश्यकता होगी --overwrite वहां भी - Ryan


अब एक सूत्र के पुराने संस्करण को स्थापित करने का एक आसान तरीका है जिसे आपने पहले इंस्टॉल किया था। बस उपयोग करें

brew switch [formula] [version]

उदाहरण के लिए, मैं नियमित रूप से Node.js 0.4.12 और 0.6.5 के बीच वैकल्पिक रूप से वैकल्पिक हूं:

brew switch node 0.4.12
brew switch node 0.6.5

जबसे brew switch सिम्लिंक बदलता है, यह बहुत तेज़ है। होमब्री विकी के नीचे और दस्तावेज देखें बाहरी आदेश


425
2017-12-14 16:33



मैंने यह कोशिश की, और यह संदेश के साथ उत्तराधिकारी "/usr/local/Cellar/node/0.4.7" के लिए बनाए गए 33 लिंक, लेकिन जब मैं बाद में नोड चलाता हूं, तो यह संदेश के साथ विफल रहता है "-bash: / usr / local / बिन / नोड: ऐसी कोई फ़ाइल या निर्देशिका नहीं "। कोई विचार क्या गलत हो सकता है? नोट: मैंने मैन्युअल रूप से 0.4.7 डाउनलोड किया और इसे सेलर निर्देशिका में रखा, क्योंकि मुझे नहीं पता कि किसी भी प्रकार को डाउनलोड करना है, लेकिन ब्रू का उपयोग कर नवीनतम नोड संस्करण। - Soroush Hakami
मुझे उम्मीद है कि आपको पता है कि 'एनवीएम' नामक कुछ है [github.com/creationix/nvm]! - Gaurav Agarwal
वाह ... इच्छा है कि यह सही जवाब के रूप में चुना गया था! +1 - Larry
मैं पहले से स्थापित पैकेज संस्करण पर निर्भर करता हूं। यदि आप संस्करण खो रहे हैं तो आपको अभी भी चयनित उत्तर लागू करने की आवश्यकता होगी। - Nic Strong
वास्तव में @NicStrong, brew switch पहले से स्थापित किए जा रहे मांग के बाद संस्करण पर निर्भर करता है। दुर्भाग्यवश, हालांकि, वर्तमान में स्वीकृत उत्तर अविश्वसनीय रूप से अनुपयोगी, दृढ़, और पुराना है। क्या आप वहां मौजूद हैं  कर रहे हैं  बेहतर नीचे दिए गए उत्तर हैं बहुत अधिक सहायताकारक। - GDP2


अद्यतन: 1/15/2015

  • वांछित सॉफ्टवेयर और संस्करण का प्रतिबद्ध इतिहास खोजें। जैसे मुझे डॉकर संस्करण 1.4.1 से 1.3.3 में स्विच करने की आवश्यकता है: https://github.com/Homebrew/homebrew-core/commits/master/Formula/docker.rb
  • इस बटन के साथ फ़ाइल देखें: enter image description here 
  • रॉ बटन पर क्लिक करें: List item
  • कॉपी करें यूआरएल (इस उदाहरण में docker.rb url) पता बार से
  • brew install <url> (शायद करना पड़े brew unlink पहला, उदा। brew unlink docker)
  • brew switch docker 1.3.3
  • डॉकर 1.4.1 पर वापस स्विच करें brew switch docker 1.4.1

इस से सार

brew update
brew versions FORMULA
cd `brew --prefix`
git checkout HASH Library/Formula/FORMULA.rb  # use output of "brew versions"
brew install FORMULA
brew switch FORMULA VERSION
git checkout -- Library/Formula/FORMULA.rb    # reset formula

## Example: Using Subversion 1.6.17
#
# $ brew versions subversion
# 1.7.3    git checkout f8bf2f3 /usr/local/Library/Formula/subversion.rb
# 1.7.2    git checkout d89bf83 /usr/local/Library/Formula/subversion.rb
# 1.6.17   git checkout 6e2d550 /usr/local/Library/Formula/subversion.rb
# 1.6.16   git checkout 83ed494 /usr/local/Library/Formula/subversion.rb
# 1.6.15   git checkout 809a18a /usr/local/Library/Formula/subversion.rb
# 1.6.13   git checkout 7871a99 /usr/local/Library/Formula/subversion.rb
# 1.6.12   git checkout c99b3ac /usr/local/Library/Formula/subversion.rb
# 1.6.6    git checkout 8774131 /usr/local/Library/Formula/subversion.rb
# 1.6.5    git checkout a82e823 /usr/local/Library/Formula/subversion.rb
# 1.6.3    git checkout 6b6d369 /usr/local/Library/Formula/subversion.rb
# $ cd `brew --prefix`
# $ git checkout 6e2d550 /usr/local/Library/Formula/subversion.rb
# $ brew install subversion
# $ brew switch subversion 1.6.17
# $ git checkout -- Library/Formula/subversion.rb

183
2017-07-19 23:42



यह एकमात्र चीज है जो मेरे लिए काम करती है। बहुत मूर्खतापूर्ण है कि एक पैकेज प्रबंधक को केवल एक पूर्व संस्करण स्थापित करने के लिए बहुत अधिक futzing की आवश्यकता है। शायद मैं रूबी आरवीएम और बंडलर द्वारा खराब हो गया हूं, लेकिन इस प्रक्रिया को वास्तव में सुव्यवस्थित और सारणीबद्ध करने की आवश्यकता है। - poetmountain
जब मैंने Ansible के पिछले संस्करण पर जाने का प्रयास किया, तो मुझे संकेत के अनुसार पिछले संस्करण को स्थापित करने से पहले फॉर्मूला को अनलिंक करना पड़ा। तो करने से पहले brew install <url>, brew unlink <formulaname>। अन्यथा, यह सूत्र का एक विशिष्ट संस्करण पर स्विच करने के लिए सबसे सरल और सबसे संक्षिप्त तरीका (अब तक) है। - bigsweater
बेकार ढंग से काम किया। - isHristov
आपने मारा Raw क्या फाइल पर बटन ?! - Iulian Onofrei
यह काम करता है, लेकिन कभी-कभी आपको कच्चे। आरबी फाइल को डाउनलोड करना पड़ता है और एसएचए विसंगति के बारे में शिकायत करने वाले होमब्रू से बचने के लिए चेकसम बदलना पड़ता है। ऐसा लगता है कि गिटहब में रिपो पेड़ का एक बड़ा हिस्सा 2017 में कभी-कभी फिर से शुरू हुआ था, और उनके चेकसम बदल गए। (असल में यह मेरी टीम में बहुत भ्रम पैदा कर रहा था जब बैजेल पिछले जुलाई में हैश विसंगतियों पर असफल होना शुरू कर दिया था) - Chang Qian


मैंने अन्य जटिल समाधानों के बाद एक बेहतर वैकल्पिक समाधान खोजा है।

brew install https://raw.github.com/Homebrew/homebrew-versions/master/postgresql8.rb

यह PostgreSQL 8.4.8 को डाउनलोड और इंस्टॉल करेगा


मुझे रेपो और ए खोजने के चरणों का पालन करना शुरू करके यह समाधान मिला टिप्पणी रेपो में

एक छोटे से शोध के बाद पाया गया कि किसी के साथ बनाने के लिए दुर्लभ सूत्रों का संग्रह है।


यदि आप MySQL 5.1.x की तलाश में हैं, तो इसे आज़माएं।

brew install https://raw.github.com/Homebrew/homebrew-versions/master/mysql51.rb

93
2017-09-19 11:55



हम्म, brew install https://github.com/Homebrew/homebrew-versions/blob/master/node06.rb वाक्यविन्यास त्रुटियों के साथ असफल लग रहा था। - Brian Armstrong
बेकार काम करता है! यहां सूचीबद्ध सभी का सबसे अच्छा समाधान। - Nikita Volkov
@BrianArmstrong आप फ़ाइल के एक HTML- स्वरूपित संस्करण का जिक्र कर रहे हैं, जबकि आपको आवश्यकता है कच्चा संस्करण। - Nikita Volkov
मत भूलना rawयूआरएल में - Faber
homebrew-versions चला गया है और सब कुछ चालू है core अब, तो सामान्य मामला है: brew install https://raw.github.com/Homebrew/homebrew-core/<COMMIT>/Formula/<FORMULA>.rb। COMMIT जाकर पाया जा सकता है github.com/Homebrew/homebrew-core/commits/master/Formula/...। - PJSCopeland


@ आधे क्यूब के सुझावों के साथ, यह वास्तव में अच्छी तरह से काम करता है:

  1. जिस पुस्तकालय को आप ढूंढ रहे हैं उसे ढूंढें https://github.com/Homebrew/homebrew-core/tree/master/Formula
  2. इसे क्लिक करें: https://github.com/Homebrew/homebrew-core/blob/master/Formula/postgresql.rb
  3. पुराने कामों को देखने के लिए "इतिहास" बटन पर क्लिक करें: https://github.com/Homebrew/homebrew-core/commits/master/Formula/postgresql.rb
  4. अपनी इच्छानुसार क्लिक करें: "postgresql: संस्करण को 8.4.4 पर अपडेट करें", https://github.com/Homebrew/homebrew-core/blob/fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422/Library/Formula/postgresql.rb
  5. "कच्चे" लिंक पर क्लिक करें: https://raw.githubusercontent.com/Homebrew/homebrew-core/fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422/Library/Formula/postgresql.rb
  6. brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422/Library/Formula/postgresql.rb

51
2017-10-16 22:12



यह पैकेज के आवश्यक संस्करण को स्थापित करने का सबसे आसान तरीका है यदि यह कोर रेपो में अनुपलब्ध है package@version - avy
यदि आप वेब इंटरफ़ेस का उपयोग नहीं कर सकते हैं, तो आप रेपो क्लोन कर सकते हैं और इसे स्थानीय रूप से कर सकते हैं: उपयोग करें git log master -- Formula/PACKAGENAME.rb प्रतिबद्धता इतिहास प्राप्त करने के लिए, सही प्रतिबद्धता की जांच करें, और फिर चलाएं brew install Formula/PACKAGENAME.rbइसे स्थापित करने के लिए। - chipbuster
मुझे लगता है कि आपको चाहिए brew unlink से पहले brew install अन्य संस्करण के। - studgeek
यह कौन है mxcl? - PJSCopeland
मैं यह करता हूँ brew install https://github.com/Homebrew/homebrew-core/raw/afc10f17af8023906b87363a8340aeb62284329f/Formula/postgresql%409.6.rb लेकिन शायद त्रुटि के कारण त्रुटि प्राप्त करें @ संकेत: Error: No available formula with the name "postgresql%409.6" In formula file: /Users/maciek/Library/Caches/Homebrew/Formula/postgresql%409.6.rb Expected to find class Postgresql%4096, but only found: PostgresqlAT96. कोई विचार? - msciwoj


आप सूत्र के इतिहास में सूत्र और किसी विशेष प्रतिबद्धता की पहचान करने की रणनीति का उपयोग कर सकते हैं जो उस पैकेज के संस्करण से मेल खाता है जिसे आप इंस्टॉल करना चाहते हैं।

  1. के लिए जाओ https://github.com/Homebrew/homebrew-core

  2. दबाएँ t फ़ाइल खोजक को सक्रिय करने के लिए अपने कीबोर्ड पर।

  3. एक सूत्र की पहचान करें जो सबसे प्रासंगिक दिखती है, शायद: Formula/mysql.rb, आपको एक फोरमला फ़ाइल स्थान पर ला रहा है: https://github.com/Homebrew/homebrew-core/blob/master/Formula/mysql.rb

  4. पर क्लिक करके संशोधन इतिहास देखें History बटन, जो स्थित है https://github.com/Homebrew/homebrew-core/commits/master/Formula/mysql.rb। यदि आप MySQL 5.7.10 में रूचि रखते हैं, तो आप 5.7.11 से पहले नवीनतम संशोधन पर क्लिक करना चाहेंगे, जो कि गिटहब प्रतिबद्धता पर नेविगेट करता है:

    https://github.com/Homebrew/homebrew/commit/c77882756a832ac1d87e7396c114158e5619016c#Library/Formula/mysql.rb

नोट: यदि आपके ब्राउज़र में प्रतिबद्धता इतिहास लोड नहीं होता है तो आपको अपने कंसोल प्रति गिटहब के सुझाव में प्रतिबद्धता इतिहास देखना पड़ सकता है। यदि आप गिटहब पर उस प्रतिबद्धता को देखने में रूचि रखते हैं तो ऊपर दिए गए SHA को URL में बदलें। वैकल्पिक रूप से, नीचे चरण 7 पर जाएं।

  1. प्रतिबद्धता लागू होने के बाद mysql.rb फ़ाइल के स्रोत को देखने के लिए "देखें" बटन पर क्लिक करें।

  2. फिर कच्चे स्रोत को देखने के लिए "कच्चे" बटन पर क्लिक करें।

  3. यूआरएल कॉपी करें। वैकल्पिक रूप से, यूआरएल को स्वयं के साथ बनाएं mysql.rb फ़ाइल का नाम अपने सूत्र और उस सूत्र के विशेष संस्करण की पहचान करने के लिए (नीचे दिए गए यूआरएल में संचार एसएचए द्वारा पहचाना गया)।

    https://raw.githubusercontent.com/Homebrew/homebrew/c77882756a832ac1d87e7396c114158e5619016c/Library/Formula/mysql.rb

  4. इसे स्थापित करें $ brew install [URL from step 7]

    $ brew install https://raw.githubusercontent.com/Homebrew/homebrew/c77882756a832ac1d87e7396c114158e5619016c/Library/Formula/mysql.rb
    

नोट: यह उत्तर braumeister.org वेबसाइट को हटाने के लिए खाते में अपडेट किया गया था। एक ही सिद्धांत लागू होता है, ब्रुमेस्टर ने फ़ॉर्मूला संस्करणों को नेविगेट करने के लिए केवल एक शुरुआती-अनुकूल तरीका प्रदान किया था।


50
2018-02-24 05:38



दुर्भाग्य से यह उत्तर की सूची में बहुत दूर है लेकिन सबसे अच्छा समाधान है। ब्रूमिस्टर का उपयोग करने के बजाए मैं यही उपयोग करता हूं, मैं बस उस फॉर्मूला के होमब्रू गिटहब पेज पर जाता हूं जो मैं चाहता हूं (उदा। जीसीसी के लिए जाना github.com/Homebrew/homebrew/blob/master/Library/Formula/gcc.rb) और फिर मैं फ़ाइल के "इतिहास" के माध्यम से तब तक जाता हूं जब तक कि मैं इच्छित संस्करण तक नहीं पहुंच जाता। - Guy Kogus
यह निश्चित रूप से मेरे मामले में सबसे अच्छा समाधान था - वॉचमैन के पुराने संस्करण को स्थापित करने के लिए जिसे Xcode 8.1 की आवश्यकता नहीं थी - Zachary Keener
भयानक जवाब, मेरे लिए काम किया - domoarigato
पुराने संस्करण को स्थापित करने का यह सबसे आसान तरीका है। बहुत बढ़िया जवाब - Martin M
यह मेरे लिए काम करता था लेकिन मुझे पहले सॉफ्टवेयर को अनलिंक करना पड़ा। - Brett Wagner


मैंने सरल के बाद से मैवेन 2.2.1 पर वापस जाने के लिए होमब्रू का उपयोग किया brew install maven स्थापित मैवेन 3.0.3।

सबसे पहले आपको वहां मैवेन डायर छोड़ना होगा

$ brew अनजान मैवेन

ब्रू टैप कमांड का प्रयोग करें

$ brew टैप होमब्रू / संस्करण
'/ Usr / local / Library / taps / homebrew-version' में क्लोनिंग ...
रिमोट: ऑब्जेक्ट्स गिनती: 5 9 0, किया गया।
रिमोट: ऑब्जेक्ट्स को संपीड़ित करना: 100% (265/265), किया गया।
रिमोट: कुल 5 9 0 (डेल्टा 362), 54 9 (डेल्टा 325) का पुन: उपयोग किया गया
वस्तुओं को प्राप्त करना: 100% (5 9 0/5 9 0), 117.4 9 कीबी | 79 कीबी / एस, किया।
डेल्टा को हल करना: 100% (362/362), किया गया।
50 फॉर्मूला टैप किया गया

अब आप maven2 सूत्र स्थापित कर सकते हैं:

$ brew maven2 स्थापित करें
==> http://www.apache.org/dist/maven/maven-2/2.2.1/binaries/apache-maven-2.2.1-bin.tar.gz डाउनलोड करना
################################################## #################################################
/usr/local/Cellar/maven2/2.2.1: 10 फ़ाइलें, 3.1 एम, 6 सेकंड में बनाया गया
$ एमवीएन - संस्करण
अपाचे मेवेन 2.2.1 (आर 801777; 200 9-06-06 12: 16: 01-0700)
जावा संस्करण: 1.6.0_37
जावा होम: / सिस्टम / लाइब्रेरी / जावा / जावावार्टुअल माचिन / 1.6.0.jdk/Contents/Home
डिफ़ॉल्ट लोकेल: en_US, प्लेटफ़ॉर्म एन्कोडिंग: मैकरोमन
ओएस नाम: "मैक ओएस एक्स" संस्करण: "10.7.4" आर्क: "x86_64" परिवार: "मैक"

संपादित करें: आप बस भी कर सकते हैं brew switch maven 2.2.1 एक अलग संस्करण में स्विच करने के लिए।

संपादित करें: अपाचे मैवेन प्रोजेक्ट ने अपने रेपो को पुनर्गठित किया। इस परिवर्तन को इस परिवर्तन के लिए खाते में अपडेट किया गया।


27
2018-02-12 20:35



यह वही है जो मैं चाहता था धन्यवाद! - micmcg
खुशी हुई कि यह आपको उपयोगी लगा। - Cameron Goodale
यह बहुत उपयोगी था। नोट, अपाचे नींव ने मैवेन बाइनरी को संस्करण (1,2,3) विशिष्ट निर्देशिकाओं में पुनर्गठित किया है, इसलिए आपको 2.2.1 के लिए maven.rb और शायद अन्य को नई संरचना के अनुरूप संपादित करने की आवश्यकता होगी। उदाहरण के लिए, 2.2.1 के लिए बाइनरी यहां स्थित था: apache.org/dist/maven/maven-2/2.2.1/binaries/...। यूआरएल में "मेवेन -2 / 2.2.1 /" नोट करें। - Charles Forcey
@ चार्ल्सफॉर्सी आप मेवेन डिस्ट रेपो को पुनर्गठित करने के बारे में सही हैं। मैं पुराने maven2 सूत्र का उपयोग करने के लिए ब्रू टैप का उपयोग करने के लिए उत्तर अद्यतन कर दूंगा। टिप्पणी के लिए धन्यवाद। - Cameron Goodale


द्वारा वर्णित वर्कफ़्लो के आधार पर @tschundeee तथा @ डेबिलस्की का अपडेट 1, मैंने प्रक्रिया को स्वचालित किया और इसमें क्लीनअप जोड़ा यह स्क्रिप्ट

डाउनलोड करो, इसे अपने रास्ते में रखो और brewv <formula_name> <wanted_version>। विशिष्ट ओपी के लिए, यह होगा:

cd path/to/downloaded/script/
./brewv postgresql 8.4.4

:)


21
2017-07-09 14:06



बस कमाल। ब्रू में क्यों नहीं है? - Adrian
@mattisg मैं इसे केवल एक बार क्यों बढ़ा सकता हूं ?? - James B
<3 आप! इसके लिए धन्यवाद! - Felipe Lima
अब और नहीं मिला :( - D-32