ब्रू का उपयोग करके नोड का नवीनतम संस्करण कैसे स्थापित करें


154

NodeJs का नवीनतम संस्करण अभी 0.4.1 है

brew install nodeअभी कमांड , 0.2.6 स्थापित करता है - जो आदर्श नहीं है। मुझे 0.4.1 चाहिए

मैंने शराब बनाने और आजमाने के आदेशों की इस सूची को देखा हैbrew install --HEAD node

लेकिन यह नोड 0.5-प्री स्थापित करता है।

क्यों काढ़ा सही संस्करण स्थापित नहीं कर रहा है और मैं इसे सही पाने के लिए कैसे मजबूर कर सकता हूं?

इस स्तर पर, ऐसा लगता है कि यह वास्तव में सिर्फ src डाउनलोड करने और मैन्युअल रूप से स्थापित करने के लिए आसान होगा। लेकिन मैं जानना चाहूंगा कि ब्रू के साथ क्या हो रहा है।


मैं उत्सुक हूँ। Homebrew के माध्यम से स्थापित करने और nodejs.org से डाउनलोड किए गए पैकेज से स्थापित करने में क्या अंतर है ?
यिहंगो

जवाबों:


126

क्या आप brew updateपहले भाग चुके हैं ? यदि आप ऐसा नहीं करते हैं, तो Homebrew अपने फ़ार्मुलों को अपडेट नहीं कर सकता है, और यदि यह अपने फ़ार्मुलों को अपडेट नहीं करता है, तो यह नहीं जानता कि सॉफ़्टवेयर के नवीनतम संस्करण कैसे स्थापित किए जाएं।


2
ठीक है, मैंने 'काढ़ा अद्यतन नोड' की कोशिश की, लेकिन मुझे लगता है कि अब आप सही हैं। यह मेरे लिए नहीं हुआ क्योंकि डोको का कहना है कि 'काढ़ा अद्यतन' काढ़ा सॉफ्टवेयर को अपडेट करेगा - जिससे कोई फर्क नहीं पड़ेगा। लेकिन इसमें 'फॉर्मूला' का उल्लेख है - जो कि मूल रूप से 'सॉफ़्टवेयर संस्करणों की लाइब्रेरी' के लिए एक (स्पष्ट रूप से) बेवकूफ शब्द है। मैं 'काढ़ा जानकारी नोड' यह पता लगाने के लिए कर सकता हूं कि यह किस संस्करण को स्थापित करने जा रहा है। यह 0.4.0 पर सेट है, इसलिए मैंने वैसे भी src से इंस्टॉल करना समाप्त कर दिया है, लेकिन यह सही है। धन्यवाद।
पांडावुड

जब यह कहता है कि "काढ़ा सॉफ्टवेयर को अपडेट करें" तो इसका मतलब यह नहीं है कि जिस सॉफ्टवेयर ने ब्रुव को स्थापित किया है, उसका मतलब है - इसका मतलब है खुद को काढ़ा बनाना, साथ ही फॉर्मूलों की अपनी लाइब्रेरी।
लिली बॉलर

301

इस क्रम में नीचे कमांड चलाएं:

brew update
brew doctor
brew upgrade node

अब आपने नोड का अद्यतन संस्करण स्थापित किया है, और यह संभवतः लिंक नहीं किया गया है। यदि यह नहीं है, तो बस टाइप करें: brew link nodeयाbrew link --overwrite node


1
मिलते रहें/usr/local/share/doc/node is not writable.
सबा अहांग

@ साबांग, देखें: होमब्रे के लिए / usr / स्थानीय पर अनुमतियाँ ठीक करें; ; gist.github.com/rpavlik/768518
AnneTheAgile

3
त्रुटि: ऐसा कोई केग नहीं: / usr / स्थानीय / तहखाने / नोड
बुध बुध

अच्छा, यह एक NPM विफलता ("बफ़र .alloc एक फ़ंक्शन नहीं है") तय की गई क्योंकि नोड केग को अनलिंक किया गया था; पुरानी फ़ाइलों को लिंक / अधिलेखित करने के लिए बाध्य करने की आवश्यकता है।
डेव

2
brew link --overwrite nodeयह वास्तव में महत्व है! धन्यवाद
हंसीची

136

काढ़ा के माध्यम से स्थापना / उन्नयन नोड के बाद मैं इस मुद्दे में बिल्कुल भाग गया: नोड कमांड ने काम किया, लेकिन एनपीएम कमांड नहीं।

मैंने इसे ठीक करने के लिए इन कमांड का इस्तेमाल किया।

brew uninstall node
brew update
brew upgrade
brew cleanup
brew install node
sudo chown -R $(whoami) /usr/local
brew link --overwrite node
brew postinstall node

मैं परीक्षण और त्रुटि का उपयोग करने के बाद एक साथ इस समाधान pieced ...


धन्यवाद! ठीक यही मुद्दा था, और इसने इसे हल किया।
एलसुर्दो

7
sudo brew postinstall nodeजब तक कि मूल (अनुशंसित नहीं) के स्वामित्व में है, तब तक एक त्रुटि होगी। मुझे नहीं लगता कि अगर आप पहले से ही ऐसा करते हैं तो इसकी जरूरत होनी चाहिए sudo chown -R $(whoami) /usr/local। आपको बस चलाने में सक्षम होना चाहिए brew postinstall node
सैम फेन

2
@SamFen का अधिकार। sudoजरूरत नहीं। इससे पहले कि मैं आदेशों की यह सूची देता, मैं पहली बार स्वीकृत उत्तर देता। बाद में मैं भाग गया node -vऔर अब सब कुछ ठीक लग रहा है।
6754534367

1
Sudo chown -R $ (whoami) $ (brew-prefix) / * का उपयोग sudo chown -R $ (whoami) / usr / local के बजाय करें
ट्रॉय डीसी थॉम्पसन

1
इसने मेरे लिए काम किया। मैंने वैसा ही किया, जैसा sudo chown -R $(whoami) $(brew --prefix)/*कि मुझे मिल रहा था Operation not permitted
thurzo101

21

कभी-कभी brew updateमुझ पर विफल रहता है क्योंकि एक पैकेज ठीक से डाउनलोड नहीं होता है। तो आप इस तरह एक विशिष्ट पुस्तकालय का उन्नयन कर सकते हैं:

brew upgrade node

https://gist.github.com/3005832


13

इसके अलावा, एक नया नोड संस्करण स्थापित करने के बाद वर्तमान नोड संस्करण को निष्क्रिय करने का प्रयास करें। इससे मुझे मदद मिलती है।

nvm deactivate

यह $ PATH से /Users/user_name/.nvm/*/bin हटा दिया गया है

और उसके बाद नोड अपडेट किया गया था

node --version
v10.9.0

9

मुझे 0.4 से 0.8.18 तक अपडेट करने के brew link --overwrite nodeबाद करना थाbrew install node


त्रुटि: ऐसा कोई केग नहीं: / usr / स्थानीय / तहखाने / नोड
बुध बुध

7

नोड अत्यंत सरल पैकेज प्रबंधक "n" का उपयोग करने का प्रयास करें ।

> npm install -g n

एक बार जब आप "एन" स्थापित हो जाते हैं। आप निम्न कार्य करके नवीनतम नोड को खींच सकते हैं:

> n latest

मैंने इसे Ubuntu 16.0x और MacOS 10.12 (Sierra) पर सफलतापूर्वक उपयोग किया है

संदर्भ: https://github.com/tj/n


7

यदि आपने वर्तमान नोड स्थापित किया है Homebrew, तो बस इन कमांड का उपयोग करें।

brew update
brew upgrade node

नोड संस्करण की जाँच करें

node -v


3

बस Homebrew 0.9.5 के साथ इस समाधान का इस्तेमाल किया और यह नोड के नवीनतम स्थिर संस्करण में अपग्रेड करने के लिए एक त्वरित समाधान की तरह लग रहा था।

brew update

यह नवीनतम संस्करण स्थापित करेगा

brew install node

इसे खोजने के लिए नोड उपयोग, नोड -v के अपने वर्तमान संस्करण को अनलिंक करें

brew unlink node012

यह नोड के अद्यतित संस्करण में बदल जाएगा।

brew link node

नोट: इस समाधान ने मुझे यह त्रुटि मिलने के परिणामस्वरूप काम किया:

त्रुटि: ऐसा कोई केग नहीं: / usr / स्थानीय / तहखाने / नोड


2

मैंने मैक OSX सिएरा पर ऐसा किया। मेरे पास Node 6.1 स्थापित था लेकिन कठपुतली को Node 6.4 की आवश्यकता थी। यह जो मैंने किया है:

brew upgrade node
brew unlink node
brew link --overwrite node@8
echo 'export PATH="/usr/local/opt/node@8/bin:$PATH"' >> ~/.bash_profile

और फिर एक नई टर्मिनल विंडो खोलें और चलाएं:

node -v
v8.11.2

Theoveroverite नोड 6 और नोड 8 के बीच परस्पर विरोधी फ़ाइलों को ओवरराइड करने के लिए आवश्यक है


2
  1. node -v आपको वर्तमान संस्करण दिखाएगा।
  2. npm -v आपको वर्तमान संस्करण दिखाएगा।
  3. brew link --overwrite --dry-run node लिंक को बाध्य करेगा और सभी परस्पर विरोधी फ़ाइलों को अधिलेखित करेगा।
  4. brew install node एक नई स्थापना करें।
  5. brew update
  6. brew upgrade node
  7. brew link --overwrite node

    या

    brew link node

नोड अपग्रेड प्रक्रिया नीचे हैं



0

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


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.