2015-09-18 21 views
28

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

क्या मुझे अभी भी एनवीएम स्थापित करने की आवश्यकता है? यदि हां, तो लाभ क्या है?

+3

एनवीएम नोड स्थापित करता है जो एनपीएम स्थापित करता है। यदि आपको नोड संस्करणों के बीच स्विच करने की आवश्यकता नहीं है/तो आपको शायद एनवीएम की आवश्यकता नहीं है। –

उत्तर

9

एनवीएम जैसा कि आपने कहा है "सक्रिय" नोडजेज़ संस्करण प्रबंधक है। आपके पास एक ही मशीन पर नोड के कई संस्करण हो सकते हैं और "एनवीएम उपयोग संस्करण" कर स्विच कर सकते हैं। एनपीएम एनवीएम का सम्मान करता है अगर यह मशीन पर मौजूद है, जिसका अर्थ है कि यदि आपके पास 0.12.7 सक्रिय है और npm install -g uuid है, तो यह इसे वैश्विक रूप से 0.12.7 के तहत स्थापित करेगा लेकिन यदि आप 4.0.0 पर स्विच करते हैं, तो यूयूआईडी अब नहीं होगा वैश्विक रूप से उपलब्ध है।

किसी भी मामले में आपको पैकेज स्थापित करने के लिए आवश्यक रूप से एनवीएम की आवश्यकता नहीं है।

+0

डिफ़ॉल्ट रूप से एनवीएम के साथ कौन सा संस्करण आता है? – JohnTheBeloved

+0

@ जॉन दबेलव: कोई नहीं। एनवीएम डिफ़ॉल्ट रूप से आपके ओएस 'संस्करण को इंगित करता है। –

+1

@ फ़ेलिक्सक्लिंग सही है। आप वर्तमान में सक्रिय नोड को देखने के लिए एनवीएम द्वारा उपयोग किए गए संस्करणों को देखने के लिए "nvm ls" और "node -v" भी कर सकते हैं। – masimplo

35

nvm (नोड संस्करण प्रबंधक) एक ऐसा उपकरण है जो आपको Node.js. को डाउनलोड और स्थापित करने की अनुमति देता है। जांचें कि आपने इसे nvm --version के माध्यम से इंस्टॉल किया है या नहीं।

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.26.1/install.sh | bash 

npm (नोड पैकेज प्रबंधक) एक उपकरण है कि आप जावास्क्रिप्ट पैकेज इंस्टॉल करने की अनुमति देता है। जांचें कि आपने इसे npm --version के माध्यम से इंस्टॉल किया है या नहीं।

npm नोड.जेएस के साथ आता है, इसलिए यदि आपके पास नोड स्थापित है (node --version) तो आपके पास npm भी स्थापित है।

आपको nvm की आवश्यकता नहीं है जब तक कि आप अपने सिस्टम पर स्थापित नोड.जेएस के कई संस्करणों को स्थापित नहीं करना चाहते हैं या यदि आप अपने वर्तमान संस्करण को अपग्रेड करना चाहते हैं।

+0

जिसका अर्थ है कि मैं 'npm इंस्टॉल वॉचमैन 'का उपयोग' npm इंस्टॉल वॉचमैन' के बजाय कर सकता हूं क्योंकि मैं npm संस्करण – AVI

+0

@JokerFan को बदलना नहीं चाहता, यह बिल्कुल सही नहीं है। आप 'एनवीएम इंस्टॉल वॉचमैन' नहीं चला सकते हैं। जब आप 'nvm' के साथ 'node'' के संस्करण को 'npm' के संस्करण में बदलते हैं तो भी बदलते हैं। – ThomasReggi

+1

क्या सिस्टम पर Node.js के एकाधिक संस्करण होने का अर्थ है? –