मैं एनपीएम में निर्भरता कैसे अपडेट करूं?


155

npm updateलगता है बस संकुल को अद्यतन करने के लिए dependencies, लेकिन किस बारे में devDependencies

अभी आप devDependenciesरनिंग करके इंस्टॉल कर सकते हैं npm install ., लेकिन यह काम नहीं करता हैnpm update .

कोई विचार?


1
मैं बस उसी चीज में भाग गया। मैं के बीच इस विषमता कर हैरानी कर रहा हूँ npm installऔर npm update। मैंने अपनी node_modulesनिर्देशिका को हटाकर और फिर से चलकर इसके चारों ओर काम किया npm install, लेकिन यह निश्चित है कि ऐसा लगता है कि एक बेहतर तरीका होना चाहिए।
जो व्हाइट

7
मैंने इस व्यवहार के लिए एक बग रिपोर्ट खोली । हम देखेंगे क्या होता है।
जो व्हाइट

ऐसा इसलिए हो सकता है क्योंकि NPM देवों ने सोचा था कि लोग npm linkदेव वातावरण बनाने के लिए उपयोग करेंगे ।
जूलियन नाइट

जवाबों:


157

स्थानीय मॉड्यूल के अलावा package.json को अपडेट करने के लिए, रन करें

npm update --save-dev

वैकल्पिक रूप से, समय बचाने के लिए एक ही कमांड

npm update -D

आप अपडेट की पूरी डिटेल, या उस मामले के लिए किसी भी कमांड को देख सकते हैं

npm help <cmd>

20
npm update -Dमेरे लिए काम नहीं किया, यह कुछ भी अद्यतन नहीं किया।
अमेजिंगडर्म्स

27
इसे सही उत्तर के रूप में क्यों चिह्नित किया जाता है, जब सवाल यह नहीं है कि अपडेट को कैसे सहेजा जाए package.json, बल्कि इसके बजाय कैसे npm updateनिर्भरता को अपडेट किया जाए?
एलेजांद्रो गार्सिया इग्लेसियस

@ जोनलबी: यह नहीं है। यहाँ मुद्दा ट्रैकिंग धागा है
डेन डस्केलस्क्यू

1
npm update --save-devमेरे लिए ठीक काम करता है। नोड v12.11.0और एनपीएम का उपयोग करनाv6.11.3
अधिकतम

55

Npm-check-updates ( https://www.npmjs.org/package/npm-check-updates ) स्थापित करें , फिर अपने प्रोजेक्ट फ़ोल्डर में कूदें और दौड़ें:

npm-check-updates

और अपने पैकेज में बदलावों को अद्यतन और सहेजने के लिए। फ़ाइल को खोलें:

npm-check-updates -u

ncunpm-check-updatesटाइपिंग को बचाने से बेहतर होगा ।
एडिक जूल

@DimitriKopriwa में -dकेवल निर्भरता के लिए एक विकल्प है
माइकल थॉम्पसन

ncu --dep dev -u;
npm


4

यदि आप पुराने npm संस्करण का उपयोग कर रहे हैं तो यह समस्या हो सकती है। इसलिए किसी भी अन्य आदेश को निष्पादित करने से पहले:

sudo npm install npm -g

या (यदि ऊपर काम नहीं करता है):

sudo npm update npm -g

फिर कंसोल को पुनः लोड करें (प्रभावी होने के लिए परिवर्तन के लिए)। अब आप अपना नया चेक कर सकते हैं npm --versionऔर यदि यह अप टू डेट एग्जीक्यूटिव है:

npm update

या (यदि आप चाहें):

npm update --save-dev

दुर्भाग्य से, यह npm 5 में काम नहीं करता है। यहां थ्रेड ट्रैकिंग समस्या है
डैनस्केलस्क्यू

2

अपडेट को बल देने का एक (धीमा) तरीका है, नोड_मॉडल्स डायरेक्टरी को हटाना और फिर npm installदोबारा करना ।

यह npm updateकमांड का एक ज्ञात बग था , जिसे विकास शाखा पर तय किया गया है npm, यहां देखें: https://github.com/isaacs/npm/pull/3863

यह बहुत जल्द npm के नवीनतम स्थिर संस्करण पर उतरना चाहिए।


1
Npm> v5 के मामले में आपको package-lock.jsonयह कार्य करने के लिए निकालने की भी आवश्यकता होगी , अन्यथा यह केवल उस लॉक फ़ाइल में सूचीबद्ध संस्करणों को स्थापित करेगा।
करफौ

इसके अलावा, यह package.jsonआपके लिए अपडेट नहीं होगा । यहाँ मुद्दा ट्रैकिंग धागा है
डैन डस्केलस्क्यू

2

मैं उसी समस्या में भाग गया, जैसे ओपी के पास थी, और कोई समाधान नहीं मिला, इसलिए मैंने एक ग्रंट प्लगइन लिखने का फैसला किया, जो मेरी निर्भरता को ऑटो-अपडेट कर देगा ..

यह गितुब पर है, मैं इसे एनपीएम प्रदान नहीं करने वाला सबसे अच्छा उपकरण बनाने के लिए कुछ इनपुट और सहयोग प्राप्त करना पसंद करूंगा।

मूल रूप से यह एक साधारण ग्रन्ट टास्क के साथ आपके पुराने विकास निर्भरता को ऑटो-अपडेट करेगा।

https://github.com/pgilad/grunt-dev-update


2

मेरे लिए जो काम किया गया है, वह व्यक्तिगत देव निर्भरताओं को इस तरह स्थापित कर रहा है

npm install react-test-renderer@15.6.1 --save --only=dev

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