मैं नोड डाउनग्रेड कैसे करूं या होमब्रे का उपयोग करके एक विशिष्ट पिछले संस्करण को स्थापित करूं?


228

मैं काढ़ा का उपयोग कर रहा हूँ। मैंने काढ़ा का उपयोग करके नोड स्थापित किया है। मैं नोड के पुराने संस्करण का उपयोग करना चाहता हूं।

ऑनलाइन, मैं निर्देश प्राप्त कर जैसे , उदाहरण के लिए :

cd /usr/local/Library/Formula
brew remove node --force
brew versions node
git checkout 83988e4 /usr/local/Library/Formula/node.rb
brew install node

इसके साथ मुझे जो समस्या है वह यह है कि brewइसमें एक सब- versionsकॉमन नहीं लगता है :

$ brew versions node
Error: Unknown command: versions
$ brew --version
0.9.5

मैं काढ़ा करने के लिए नया हूँ। क्या मुझे versionsकिसी भी तरह से उप- सक्षम करने की आवश्यकता है ? क्या मुझे इसके बजाय एक अलग उप-क्षेत्र का उपयोग करना चाहिए? वहाँ एक पूरी तरह से अलग तरीका है जो मुझे कोशिश करनी चाहिए?

मैं OS X Yosemite (10.10.1) चला रहा हूं; काढ़ा 0.9.5।


नोड का कौन सा संस्करण। Js स्थापित करने के लिए देख रहे हैं?
bmike

मेरा बॉस मुझे 10.32 बताता है। मुझे लगता है कि उसका मतलब 0.10.32 है। मेरे पास अभी 0.12.0 इंस्टॉल है।
dave4420

इस तिथि पर पाठक को इस उत्तर पर जाना चाहिए: stackoverflow.com/a/4158763/48136
ब्राइस

जवाबों:


352

इन दिनों यदि आप इसका एक अलग संस्करण स्थापित करना चाहते nodeहैं तो इसे इस तरह से करें:

पहले अपने इच्छित पैकेज की खोज करें:

brew search node

यह आपको निम्नलिखित परिणाम दे सकता है:

heroku/brew/heroku-node ✔
llnode
node@10
nodebrew
leafnode
node ✔
node@8
....

और फिर वांछित संस्करण स्थापित करें:

brew install node@8

यह भी याद रखें कि आप एक ही समय में 1 से अधिक नोड पैकेज स्थापित कर सकते हैं, लेकिन आप उन्हें एक ही समय में उपलब्ध नहीं कर सकते। इसलिए यदि आपके पास nodeपहले से स्थापित नवीनतम / जेनेरिक पैकेज है तो आपको इसे अनलिंक करने की आवश्यकता है:

brew unlink node

और फिर आप एक अलग संस्करण लिंक कर सकते हैं:

brew link node@8

कुछ पुराने नोड संस्करणों के लिए (जो केवल केग हैं), उन्हें --forceऔर --overwriteविकल्पों के साथ जोड़ना आवश्यक हो सकता है :

brew link --force --overwrite node@8

10
यहाँ पर सबसे अच्छा जवाब।
19

3
ध्यान दें कि आपको नोड के मौजूदा संस्करण को "अनलिंक" करने के लिए संकेत दिया जा सकता है इससे पहले कि आप सूचीबद्ध किए गए अन्य संस्करणों में से एक को सफलतापूर्वक स्थापित कर सकें (ऊपर दिए गए निर्देशों के अनुसार)। "अनलिंकिंग" करके आप अपने सिस्टम पर भौतिक रूप से इंस्टॉल किए गए दूसरे संस्करण को छोड़ रहे हैं, लेकिन जिसे आप इंस्टॉल करते हैं (अनलिंक के बाद) आपके सिस्टम पर "डिफ़ॉल्ट" संस्करण बन जाएगा। उदाहरण के लिए, brew unlink nodeयदि आपने स्थापित किया था, तो आपको टाइप करना पड़ सकता है brew install node। तब आप कर सकते हैं brew install homebrew/versions/node4-lts(जिसे आपको इस उत्तर में दिए गए निर्देशों के अनुसार सूचीबद्ध संस्करण के रूप में देखना चाहिए)।
xmnboy

1
इसके बजाय homebrew/versions/node06अब है homebrew/versions/node6-lts। भी करते हैं brew link node6-lts
अकुप्पी

1
मैंने नवीनतम शराब बनाने के परिवर्तनों को प्रतिबिंबित करने के लिए अपना उत्तर अपडेट कर दिया है। धन्यवाद!
Paweł Go Pawcicki

2
लेकिन हम कैसे का उपयोग कर नोड 8.2.1 की तरह एक विशिष्ट संस्करण स्थापित कर सकते हैं?
नादव बी

39

यहाँ कदम से कदम है।

अपने वर्तमान नोड संस्करण को देखने के लिए

$ node --version

उपलब्ध नोड संस्करण देखने के लिए

$ brew search node

वर्तमान संस्करण से अनलिंक करने के लिए

$ brew unlink node

किसी भी संस्करण को स्थापित करें जैसे 8

$ brew install node@8

स्थापित संस्करण लिंक करने के लिए

$ brew link node@8

अपना वर्तमान नोड संस्करण देखने के लिए (फिर से)

$ node --version

बस मुझे क्या चाहिए
ब्रायन Colavito

इस समस्या को कैसे हल करें? शराब की भठ्ठी लिंक @ 10 चेतावनी: नोड @ 10 केग-ही है और इसे --फोर्स के साथ जोड़ा जाना चाहिए। यदि आपको इस सॉफ्टवेयर को पहले अपने पैट में रखने की आवश्यकता है, तो इसके बजाय चलने पर विचार करें: इको का निर्यात पाथ = "/ usr / लोकल / ऑप्ट / नोड @ 10 / बिन: $
पेट

मैक OS 10.13.5 पर काम नहीं किया, त्रुटि stackoverflow.com/questions/53043476/…
विक्रमवी

15

के रूप में homebrew / संस्करणों को यह पीआर और homebrew को यह पीआर , जवाब को शामिल brew tap homebrew/versionsया *-ltsसंकुल अब काम।

सही उत्तर अब है:

brew install node@<version>

कहाँ <version>है 0.10, 0.12, 4, आदि उदाहरण के लिए, Node.js v6 स्थापित करने के लिए (इस लेखन, सबसे हाल ही LTS संस्करण के रूप में):

brew install node@6

आपको brew updateयह सुनिश्चित करने के लिए इन आदेशों से पहले चलाने की आवश्यकता हो सकती है कि ये नए संस्करण सूत्र उपलब्ध हैं। यदि आपके पास nodeसूत्र का दूसरा संस्करण स्थापित है, तो आपको भी brew unlink nodeपहले दौड़ना होगा ।


2
मैक ओएस के साथ काम नहीं किया। 10.13.5 stackoverflow.com/questions/53043476/…
विक्रमवी

11

brew versionsस्थापित करने के बाद कुछ बिंदु पर स्थापित किया जाना है brew

$ brew tap homebrew/boneyard

फिर आप brew versionsनिर्देश मान के रूप में कमांड का उपयोग कर सकते हैं।


4
homebrew/boneyardपुराना है और मार्च 2015 तक github.com/Homebrew/homebrew-versions से बदल दिया जाएगा brew tap homebrew/versions
जैकब होली

12
के साथ homebrew/versionsआप पैकेज का संस्करण नाम मिल जाएगा brew search node => leafnode node node010 node04 node06 node08 nodebrew ...:। ऐसा करने brew install node010के बाद brew link --overwrite node010Node.JS. के 0.10 संस्करण को स्थापित करने के लिए
जैकब होली

3
आपको brew unlink nodeइससे पहले आपके लिए भी आवश्यक हो सकता हैbrew install node010

10

FYI करें, यदि आपके पास पहले पुराना संस्करण स्थापित था और नहीं चला है brew cleanup(जो पुराने संस्करणों को हटा देता है), तो आप कुछ के साथ स्विच कर सकते हैंbrew switch node 5.7.0

नोड के सभी स्थापित संस्करणों को चलाकर brew info nodeया सूचीबद्ध किया जा सकता हैls -l /usr/local/Cellar/node/

काढ़ा आदेश धोखा शीट देखें: http://ricostacruz.com/cheatsheets/homebrew.html


2017/12 तक काम करता है! होमब्रेव 1.4.0-17-gc912d26
जेसन हैरिसन

5

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


एनवीएम डॉक्स के अनुसार काढ़ा और एनवीएम एक समर्थित कॉम्बो नहीं हैं। मैंने इस पर यहाँ टिप्पणी की। github.com/angular/angular-cli/issues/… मुझे इस पर कोई भी युद्ध की कहानियाँ सुनने में दिलचस्पी होगी। क्योंकि सतह पर मुझे लगता है कि यह काम करने के बावजूद ऐसा लगता है कि यह "समर्थित नहीं है"
JGFMK

3

आप इसे होमब्रे के बिना कर सकते हैं।

आप स्थापना रद्द कर सकते हैं और फिर मैन्युअल रूप से नोड स्थापित कर सकते हैं।

आपको अपना वर्तमान चालू संस्करण डाउनलोड करना होगा। यहाँ सूची है

नोड-वी {आपका-वर्तमान-संस्करण-संख्या} .tar.gz डाउनलोड करें, इसे निकालें और फिर कमांड लाइन पर जाएं।

cd node-v{your-current-version-number}
./configure
make
sudo make install

इसकी स्थापना रद्द करने के लिए sudo make uninstall

फिर उस संस्करण को डाउनलोड करें जिसे आप स्थापित करना चाहते हैं और ऊपर दिए गए चरणों का पालन करें।

इस ब्लॉग पोस्ट से


इस जवाब को +1 करें। एफडब्ल्यूआईडब्ल्यू, मैं सिर्फ bin/इस काम को पाने के लिए अपने पैथ को अनट्रेडेड फ़ोल्डर की प्रतिलिपि बनाने में सक्षम था ।
शिचोलास

इससे भी बेहतर, आप वहाँ से .pkg फ़ाइल डाउनलोड कर सकते हैं और इसे इंस्टॉल करने के लिए डबल-क्लिक कर सकते हैं।
हेनरिक एन

3

यदि आपने नोड के किसी भी संस्करण को स्थापित करने के लिए होमब्रेव के साथ परेशानियों का सामना किया है, तो आप https://nodejs.org/dist/PVERSION_YOU_NEED] से OSX के लिए .pkg फ़ाइल डाउनलोड कर सकते हैं । यह केवल मुझे नोड को पुनर्स्थापित करने में मदद करता है


3

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

NVM का उपयोग करना बहुत आसान है और यह आपको बहुत आसानी से संस्करणों के बीच स्विच करने की अनुमति देता है।

homebrew install nvm

फिर कैविट्स में दिए गए निर्देशों का पालन करें - mkdir ~/.nvmऔर अपनी .bash_profileऔर दो पंक्तियों को जोड़ेंsource .bash_profile

फिर बस nvm install <version>आप की जरूरत के सभी संस्करणों के लिए चलाते हैं । फिर nvm use <version>स्विच करने के लिए।


यह स्वीकृत उत्तर नहीं है, लेकिन यह केवल एक ही है जिसने मेरे लिए काम किया है। काश मैंने यह पहली कोशिश की होती, क्योंकि मैंने बहुत समय बचा लिया होता।
एलेक्स

1

इमेजिंग करें कि आपके पास 0.12 है। * संस्करण। स्थापित करने के लिए (डाउनग्रेड) नोड का 0.10 संस्करण OSX में काढ़ा फेंकते हैं, आपको निम्न करना होगा:

$ sudo brew tap homebrew-versions
$ brew unlink node
$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-versions/master/node010.rb
$ node -v

सभी नोड संस्करणों की सूची यहां है


1

NodeJS दुनिया में पसंदीदा तरीका टूल n का उपयोग कर रहा है

  • स्थापना: npm install -g n
  • Install..4.४ स्थापित करें n 8.8.4
  • अपने सभी स्थानीय रूप से उपलब्ध नोड संस्करणों की सूची बनाएं और एक को चुना: n

यह समान है nvm, लेकिन मेरे पास मुद्दे थे nvm, और nबॉक्स से बाहर काम किया।


0

https://nodejs.org/en/blog/release/

आप यहां जा सकते हैं और अपनी आवश्यकता के संस्करण को स्थापित कर सकते हैं।

स्थापित करने से पहले आप brew unlink nodeवर्तमान संस्करण को अनलिंक करने के लिए चलाना चाह सकते हैं ।


1
इसका इस तरह से करने से क्या फायदा होगा, जैसा कि काढ़ा का उपयोग करने के विपरीत (जैसा कि कई अन्य उत्तर बताते हैं) या नोड को अनइंस्टॉल करना और फिर मैन्युअल रूप से इसे स्थापित करना (जैसा कि @ टेरेंटे-इयोनुत-अलेक्जेंड्रू का उत्तर वर्णित है)?
जॉन एन

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

@ Paweł-Goicicki का जवाब (उच्चतम रेटिंग, 140 वोटों के साथ) समझने में बहुत आसान लगता है, और बिल्कुल भी जटिल नहीं है - जो मेरे हाल के अनुभव का काढ़ा और विभिन्न संस्करणों के साथ मेल खाता है। मेरा कहना यह है कि आपका उत्तर ऐसी किसी भी चीज़ से नहीं जुड़ता है, जो पहले से ही अन्य उत्तरों में नहीं कही गई है - जब तक कि अनलिंक करने का कोई कारण नहीं है + मैन्युअल रूप से अनइंस्टॉल करने के बजाय + मैन्युअल रूप से इंस्टॉल करें, जैसा कि टेरेंटे ने सुझाव दिया है?
जॉन एन

@ जॉन, कि संभोग, समझने में आसान है। लेकिन आप उन विकल्पों द्वारा सीमित हो जाएंगे जो ब्रू खोज देता है। उदाहरण के लिए। यदि आप नोड 4.4.6 चाहते हैं, लेकिन काढ़ा केवल नोड @ 4 विकल्प प्रदान करेगा। अत।
अनंत सिमरन सिंह

मुझे लगता है, प्रश्न के 3 सभ्य उत्तर हैं: (1) काढ़ा का उपयोग करें, (2) एनवीएम का उपयोग करें, और (3) स्थापना रद्द करें और मैन्युअल रूप से इंस्टॉल करें। जो मैं आपको करने की कोशिश कर रहा हूं वह यह बताता है कि आपका उत्तर इन मौजूदा उत्तरों में क्यों जुड़ता है। आपको ऐसा क्यों लगता है कि मौजूदा उत्तरों के लिए अनलिंकिंग + मैन्युअल रूप से इंस्टॉल करना बेहतर है? विशेष रूप से, आपको ऐसा क्यों लगता है कि Terente के उत्तर से पता चलता है कि * अनलिंकिंग * + मैन्युअल रूप से इंस्टॉल करना * अनइंस्टॉल करना * + मैन्युअल रूप से इंस्टॉल करने से बेहतर है?
जॉन एन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.