एनपीएम पैकेज के पिछले सटीक संस्करण को कैसे स्थापित करें?


914

मैंने नोड v0.4.10 डाउनलोड करने के लिए nvm का उपयोग किया और नोड के उस संस्करण के साथ काम करने के लिए npm स्थापित किया।

मैं एक्सप्रेस का उपयोग कर स्थापित करने की कोशिश कर रहा हूँ

npm install express -g

और मुझे एक त्रुटि मिलती है कि एक्सप्रेस को नोड संस्करण> = 0.5.0 की आवश्यकता होती है।

खैर, यह, अजीब है के बाद से मैं एक नोड + के लिए निर्देशों का पालन कर रहा हूँ व्यक्त + MongoDB ट्यूटोरियल यहाँ है कि इस्तेमाल किया नोड v0.4.10, तो मैं यह सोचते हैं हूँ एक्सप्रेस है / नोड v0.4.10 लिए उपलब्ध था। यदि मेरी धारणा सही है, तो मैं एनपीएम को एक संस्करण लाने के लिए कैसे कहूं जो मेरे सेटअप के साथ काम करेगा?


7
आप सिर्फ अपने नोड संस्करण को अपडेट क्यों नहीं करते हैं? बहुत यकीन है कि टूटे हुए व्यवहार की तुलना में कई अधिक अच्छे जोड़ होने चाहिए जो आपको मिलेंगे।
फेब्रीको मट्टे

1
कभी-कभी वह विकल्प नहीं होता है। यदि वह डाउनग्रेड करने के लिए nvm का उपयोग करता है, तो एक कारण हो सकता है, जैसे कि कुछ अन्य समूह निष्पादन योग्य नोड संस्करण को नियंत्रित करता है जिसका उसे उपयोग करना है।
fool4jesus

जवाबों:


1581

यदि आपको पैकेज का पुराना संस्करण स्थापित करना है, तो इसे निर्दिष्ट करें

npm install <package>@<version>

उदाहरण के लिए: npm install express@3.0.0

आप --saveअपने पैकेज में इसे जोड़ने के लिए ध्वज को भी जोड़ सकते हैं। --save --save-exactयदि आप चाहते हैं कि आपके पैकेज में निर्दिष्ट सटीक संस्करण । json निर्भरताएँ, या फ़्लैगेज़ को जोड़ दें ।

installआदेश यहाँ प्रलेखित है: https://docs.npmjs.com/cli/install

यदि आप सुनिश्चित नहीं हैं कि पैकेज के कौन से संस्करण उपलब्ध हैं, तो आप उपयोग कर सकते हैं:

npm view <package> versions

और npm viewएक पैकेज के बारे में अन्य चीजों को देखने के लिए भी इस्तेमाल किया जा सकता है। https://docs.npmjs.com/cli/view


4
मुझे विश्वास है कि यह निकटतम प्रमुख संस्करण स्थापित करेगा जो मेल खाता है, इसलिए यह वह नहीं हो सकता है जो आप stackoverflow.com/a/22345808/1074400
Aakil फर्नांडीस

2
@AakilFernandes यदि आप एक सटीक संस्करण निर्दिष्ट करते हैं, तो एक सटीक संस्करण स्थापित किया जाएगा। यदि आप सिमेंटिक संस्करण सीमा निर्दिष्ट करते हैं, तो आपको एक गैर-सटीक मिलान मिल सकता है। उस संबंध में इंस्टॉल कमांड के बारे में कुछ भी अनूठा नहीं है।
ब्रेट कोपलैंड

6
npm view <package> versions -jsonहर एक संस्करण को देखने के लिए, कई संस्करणों के साथ सूची के अंत में दीर्घवृत्त से बचना।
TheDarkIn1978

5
यदि आप उपयोग करते हैं npm install express@3.0.0, तो आपको सटीक संस्करण 3.0.0 नहीं मिलेगा, आपको नवीनतम 3.xx संस्करण मिलेगा। विशिष्ट संस्करण प्राप्त करने के लिए, आपको उपयोग करना होगा npm install express@3.0.0 --save-exact। इस ब्लॉग पोस्ट को देखें: 60devs.com/npm-install-specific-version.html
पैट्रिक हंड

5
@PatrickHund नहीं, npm install express@3.0.0आपको बिल्कुल 3.0.0 संस्करण मिलेगा । npm install express@^3.0.0आप नवीनतम 3.xx को --save-exactप्रभावित करते हैं कि यह कैसे पैकेजों के लिए लिखा जाता है। इसे प्रभावित करता है, जिसे मैंने पहले ही अपने उत्तर में कवर कर लिया है। यह भी ध्यान दें, या --save-exactतो के साथ संयोजन में उपयोग किया जाना है - --saveया --save-devयह अपने दम पर उपयोग करने के लिए पर्याप्त नहीं है।
ब्रेट कोपलैंड

93

यह काफी आसान है। उदाहरण के लिए, इसे लिखें:

npm install -g npm@4.6.1

या:

npm install -g npm@latest    // For the last stable version
npm install -g npm@next      // For the most recent release

1
latestऔर nextसंस्करण टैग के लिए धन्यवाद !
जिमी एडारो

@inaps आप एक नोट जोड़ सकते हैं कि -gझंडा विशेष रूप से उन पैकेजों के लिए है जिन्हें आप विश्व स्तर पर स्थापित करना चाहते हैं क्योंकि बहुत सारे उपयोगकर्ता इस पृष्ठ पर पहुंचेंगे और केवल इस बात को महसूस किए बिना कॉपी / पेस्ट करेंगे कि वे अपने पैकेज पारिस्थितिकी तंत्र को कैसे प्रभावित करने वाले हैं। हम सब "उस आदमी" हैं
जैक्सनक्रा

73

पहले पुराने संस्करण को हटा दें, फिर निम्नलिखित को अक्षरश : चलाएं :

npm install express@3.X

और स्थिर या हाल के लिए

npm install -g npm@latest    // For the last stable version
npm install -g npm@next      // For the most recent release

12
क्या यह Xकुछ संख्यात्मक संस्करण संख्या के लिए शाब्दिक या एक स्टैंड-इन है?
कीथ थॉम्पसन

7
वह या तो / या प्रश्न था, हाँ / नहीं प्रश्न। मैंने कोशिश की npm install express@3.X, और यह काम करने लगा। क्या यह सुविधा है या npmसंस्करण संख्या को पार्स करने के तरीके की दुर्घटना ?
कीथ थॉम्पसन

3
@KeithThompson हाँ, यह है! हे, बस मजाक कर रहे हैं ... यह जिस तरह से npmइसे पार्स करता है, यह देखें: डॉक्स.एनएमजेएस
एसमेवर#

3
@ भग: यह एक शाब्दिक है X
कीथ थॉम्पसन

1
मैं सिर्फ यह जानना चाहता था कि आपके लिए यह काम क्यों किया गया। मुझे नहीं पता कि सौरभ का मूल इरादा या आप क्या करने की कोशिश कर रहे हैं। 3.X का मतलब होगा> = 3.0 और <4.0।
गोंज


2

आप इस कमांड का उपयोग करके अपने npm पैकेज को अपडेट कर सकते हैं:

npm install <package_name>@<version_number>

उदाहरण: npm install yargs@12.02


1

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

पैकेज के साथ npm-check-updatesमैं पैकेजों के पैकेजों (पैकेज.जसन फ़ाइल के अनुसार) को सत्यापित करता हूं जो उनके नवीनतम उपलब्ध संस्करणों में घोषित नहीं किए गए हैं, जैसा कि चित्र में दिखाया गया है ( https://www.npmjs.com/package/npm-check -अपडेट )

यहां छवि विवरण दर्ज करें

इस जानकारी के साथ हम विभिन्न पैकेजों की अद्यतन स्थिति को सत्यापित कर सकते हैं और निर्णय ले सकते हैं कि किन पैकेजों को अपग्रेड / डिग्रेड करना है और कौन से नहीं।

यह मानते हुए कि हमने सभी पैकेजों को अपडेट करने का फैसला किया है क्योंकि वे सूचीबद्ध हैं, हम उस ncu -uकमांड का उपयोग कर सकते हैं जो केवल आपके पैकेज को संशोधित करता है। json फ़ाइल। npm installअपने इंस्टॉल किए गए पैकेज और पैकेज-लॉक को अपडेट करने के लिए चलाएँ । Json।

फिर, रिपॉजिटरी की आवश्यकताओं के आधार पर, हम विशिष्ट संस्करणों को स्थापित करने npm view <package> versionsऔर के साथ क्या आवश्यक है, को परिष्कृत कर सकते हैं npm install <package>@<version>


1

npm install -g npm@version

जिसमें आप डाउनग्रेड करना चाहते हैं

npm install -g npm@3.10.10


लेकिन अगर मैं इसे स्थानीय जरूरत है? क्या मुझे डालने की जरूरत है?
एलेक्सनिकोव

हां आपके पास भी है..यह स्थानीय स्तर पर पैकेज डाउनलोड करेगा।
लक्ष्य शर्मा

@AlexNikonov ommit -g(वैश्विक स्थापित के लिए, तो यह आपके वर्तमान परियोजना dir में भूमि /node_modules) और हाँ, --saveया --save-devमें एक प्रविष्टि पाने के लिएpackage.json
फ्रैंक Nocke

0

आप एक npm पैकेज के पिछले संस्करण को स्थापित करने के लिए निम्न कमांड का उपयोग कर सकते हैं:

npm install packagename@version


-3

उबंटू पर आप इस कमांड को आजमा सकते हैं।

sudo npm cache clean -f
sudo npm install -g n
sudo n stable 

विशिष्ट संस्करण: सुडो n स्थिर के बजाय सुडो एन 8.11.3

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