Nvm का उपयोग करके नोड को ठीक से अपग्रेड कैसे करें


231

क्या nodeमैन्युअल रूप से नवीनतम स्थिर संस्करण को स्थापित करने के बजाय, सही तरीके से अपग्रेड करना संभव है ?

मैंने नोड.जेएस संस्करण के 5.0साथ स्थापित किया है nvm, लेकिन अब मैं इसे अपडेट करना चाहता हूं 5.4। मैं अपने सभी वैश्विक पैकेजों को मैन्युअल रूप से पुनर्स्थापित करने से बचने की कोशिश कर रहा हूं ( जैसे कि रनिंग npm install -g grunt-cli bower yo yoman-angular-generator blabla blablablabla...)।

जवाबों:


328

यह काम कर सकता है:

nvm install NEW_VERSION --reinstall-packages-from=OLD_VERSION

उदाहरण के लिए:

nvm install 6.7 --reinstall-packages-from=6.4

फिर, यदि आप चाहें, तो आप अपना पिछला संस्करण हटा सकते हैं:

nvm uninstall OLD_VERSION

जहाँ, आपके मामले में, NEW_VERSION = 5.4 OLD_VERSION = 5.0

वैकल्पिक रूप से, कोशिश करें:

nvm install stable

1
खुराक का उपयोग करके nvm install stableस्थापित नोड सहित सभी पैकेजों को हटाने के बजाय उन्हें अपडेट करना है?
सैयद

1
वास्तव में, यह अब काम नहीं कर रहा है।
Npm के

5
द्वारा nvm ls-remoteआप सभी रिलीज देख सकते हैं।
डैनियल

7
यह मेरे लिए काम करता है nvm install node --reinstall-packages-from=$(nvm current):। वह Node.js को नवीनतम संस्करण में अपडेट करेगा और पिछले संस्करण जो भी था, उससे npm वैश्विक पैकेजों को पुनर्स्थापित करेगा।
साइफ्रोस्ट

यदि आप स्थापना रद्द करने में विफल रहते हैं, तो उपयोग करें nvm deactivateऔर पुनः प्रयास करें।
izilotti

185

आप अधिक निम्न आदेशों में से एक को आसानी से चला सकते हैं:

नवीनतम संस्करण :
nvm install node --reinstall-packages-from=node
स्थिर (LTS) संस्करण :
nvm install lts/* --reinstall-packages-from=node

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

संपादित करें - @ m4js7er टिप्पणी के अनुसार एलटीएस संस्करण स्थापित करने के लिए जोड़ा गया कमांड।


20
यदि आप नवीनतम स्थिर संस्करण (अधिकतम उपयोगकर्ताओं के लिए अनुशंसित) को अपडेट करना चाहते हैं, तो आपको दौड़ना चाहिए nvm install lts/* --reinstall-packages-from=node:। उसके बाद आप अपने संस्करणों की सफाई कर सकते हैं nvm uninstall [old version]। आप के साथ सभी स्थापित संस्करणों को सूचीबद्ध कर सकते हैं nvm ls
m4js7er

डबल करने से पहले सोचें कि --reinstall-packages-from=nodeआप 6, 8 और 10. संस्करणों के लिए अलग-अलग वैश्विक वातावरण का उपयोग कर सकते हैं
योगदान

1
मैंने कमांड बाँध लिया है, nvm install lts/* --reinstall-packages-from=nodeलेकिन मुझे यह कहते हुए त्रुटि हुई कि Version 'lts/*' not found - try 'nvm ls-remote' to browse available versions.मैं NVM संस्करण 0.30.1 का उपयोग कर रहा हूँ, शायद मेरा NVM बहुत पुराना है। मैं अंत में मैन्युअल की जगह lts/*के साथ 10.15.2/*काम करने के लिए इसे पाने के लिए।
झांग

16

O दो सरल समाधान:

नोड के नवीनतम संस्करण को स्थापित करने और पुराने संस्करण पैकेजों को पुनर्स्थापित करने के लिए बस निम्नलिखित कमांड चलाएँ।

nvm install node --reinstall-packages-from=node

ltsनोड के नवीनतम (दीर्घकालिक समर्थन) संस्करण को स्थापित करने के लिए और पुराने संस्करण पैकेजों को पुनर्स्थापित करें बस निम्नलिखित कमांड चलाएं।

nvm install --lts /* --reinstall-packages-from=node

इस उत्तर का समर्थन करने के लिए एक GIF है। nvm


यह काम करने के लिए नहीं मिल सकता है - मैं अभी प्राप्त करता हूँIf --reinstall-packages-from is provided, it must point to an installed version of node.
wickywills

@wickywills "नोड: यह नोड के नवीनतम संस्करण को स्थापित करता है" हो सकता है कि आपके पास और एलटीएस या विशिष्ट संस्करण स्थापित हो और इस तरह nodeस्थापित नवीनतम संस्करण की ओर इशारा न करें। या आपको nvm अपडेट करने की आवश्यकता है।
15

10

अगर आपके पास 4.2 है और आप 5.0.0 स्थापित करना चाहते हैं

nvm install v5.0.0 --reinstall-packages-from=4.2

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

स्रोत: साइट पॉइंट


2

एक नया संस्करण स्थापित करने के लिए Node.JS।

चरण 1: एनवीएम इंस्टॉल करें

npm i -g nvm

चरण 2: NODE नवीनतम संस्करण स्थापित करें

nvm install *.*.*(NodeVersion)

चरण 3: चयनित नोड संस्करण

nvm use *.*.*(NodeVersion)

समाप्त


0

वर्तमान सक्रिय संस्करण को अपडेट करने के लिए बैश उपनाम:

alias nodeupdate='nvm install $(nvm current | sed -rn "s/v([[:digit:]]+).*/\1/p") --reinstall-packages-from=$(nvm current)'

भाग sed -rn "s/v([[:digit:]]+).*/\1/p"आउटपुट को nvm currentइतना बदल देता है कि नोड का केवल एक प्रमुख संस्करण वापस आ जाता है, अर्थात: v13.5.0-> 13

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