Npm package.json में निर्भरता के लिए निर्भरता से एक मॉड्यूल ले जाएँ


154

वहाँ से एक मॉड्यूल ले जाने के लिए किसी भी छोटे से आदेश है devDependenciesकरने के लिए dependenciespackage.json में?

मैं खुद को हमेशा ऐसा करता हुआ पाता हूं:

npm uninstall <module_name> --save-dev 
npm install <module_name> --save

क्या इसके लिए कोई छोटा तरीका है?

जवाबों:



182

यदि आप इसके विपरीत करना चाहते हैं (यानी एक मॉड्यूल को स्थानांतरित dependenciesकरें devDependencies) बस करो:

npm install <module_name> --save-dev

या आशुलिपि:

npm i <module_name> -D

आशुलिपि (ठेस) से जाने के devDependenciesलिए dependencies:

npm i <module_name> -P

5
मेरे लिए काम करता है, v5.6
महापुरूष

1
शॉर्टहैंड npm i module-example -Dभी ठेस से देव की ओर जाने के लिए काम करेगा, साथ ही npm i module-example -Pदेव से ठेस की निर्भरता की ओर बढ़ने के लिए भी
Andriy

@Andriy धन्यवाद, इसके बारे में सोचा नहीं था। जवाब अपडेट करेंगे!
सिड

यदि आप इसके बजाय यार्न का उपयोग कर रहे हैं, तो आपको इसे पहले निर्भरता से हटाने की आवश्यकता है yarn remove <module_name>और फिर इसे भक्ति पर निर्भरता के साथ फिर से जोड़ना हैyarn add <module_name> --dev
यूजेनियो

16

यार्न में:

से एक मॉड्यूल ले जाएँ devDependenciesकरने के लिए dependencies:

yarn remove <module_name> --dev && yarn add <module_name> 

से एक मॉड्यूल ले जाएँ dependenciesकरने के लिए devDependencies:

yarn remove <module_name> && yarn add <module_name> --dev

जैसा कि टिप्पणियों में कहा गया है, कमांड वास्तव में मॉड्यूल को हटा देता है और इसे नए स्थान पर पुनर्स्थापित करता है।


1
क्या यह वास्तव में सही है? वहाँ यार्न में कोई रास्ता नहीं से बातें स्थानांतरित करने के लिए है dependenciesकरने के लिए devDependenciesदूर करने और फिर से जोड़ने के बिना?
लंदनबोर

@LondonRob वह एकमात्र तरीका है जो मैंने पाया है
yohaiz

21
यह गतिमान नहीं है, यह केवल पैकेज को हटा रहा है और इसे फिर से स्थापित कर रहा है
थानवीर शाह

@seeker_of_bacon यहां पृष्ठभूमि में कुछ भी नहीं चल रहा है। आप के &&साथ भ्रमित हो सकता है &
रुडोल्फबाइकर

3

यदि आपकी परियोजना में अभी तक लॉकफ़ाइल या सिक्योरवैप फ़ाइल नहीं है, तो आप बस अपने में संबंधित लाइन को स्थानांतरित कर सकते हैं package.json

(मैं तालाबंदी का उपयोग नहीं करने की सिफारिश नहीं कर रहा हूं)


3

उपयोग npmया yarnकमांड के साथ समस्या यह है कि एक मौका है कि जो संस्करण फिर से जोड़ा गया है वह वर्तमान में उपयोग किए जाने वाले संस्करण की तुलना में एक अलग संस्करण है। - अगर यह तुम क्या चाहते है दोनों एक कदम और एक उन्नत - तो आगे जाना है और स्वीकार किए जाते हैं जवाब का उपयोग करें।

यदि नहीं, तो बस ऑब्जेक्ट को ऑब्जेक्ट से ऑब्जेक्ट पर ले जाने के लिए मैन्युअल रूप से संपादित करेंpackage.json (यदि आवश्यक हो तो इसे बनाएं)। आप दूसरी दिशा में भी जा सकते हैं।devDependenciesdependencies

लॉक फ़ाइल किसी भी जानकारी के बारे में नहीं रखती है यदि चीजें ठेस या देव निर्भरता हैं, तो इसे अपडेट करने की आवश्यकता नहीं है। आप लॉक फ़ाइलों में किसी भी झंडे को ठीक करने के लिए npm/ yarn installबाद में कर सकते हैं ।


जबकि इसमें केवल एक ही dependenciesशीर्ष-स्तरीय खंड है package-lock.json, प्रत्येक प्रविष्टि में संभावित रूप से devयह इंगित करने के लिए एक ध्वज है कि क्या यह एक देव पर निर्भरता है या किसी की सकर्मक निर्भरता है। Docs.npmjs.com/files/package-lock.json#dev " देखें " यदि [देव] सत्य है तो यह निर्भरता या तो एक विकास निर्भरता है या केवल शीर्ष स्तर के मॉड्यूल की या एक सकर्मक निर्भरता की। यह निर्भरता के लिए गलत है। दोनों शीर्ष स्तर के विकास निर्भरता और शीर्ष स्तर के गैर-विकास निर्भरता की एक सकर्मक निर्भरता हैं। "
रोब ३ सी ०

0

एनपीएम इंस्टॉल का उपयोग करने का मुद्दा यह है कि आप अपडेट किए गए संस्करणों के साथ समाप्त होते हैं। मेरे लिए क्या काम किया है:

  1. उन्हें इच्छित भाग में ले जाना (देव, या ठेस)
  2. उन्हें node_modules फ़ोल्डर से निकालना
  3. निष्पादित npm install

इसने सभी संस्करणों को बरकरार रखा।

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