2015-11-05 21 views
10

के लिए नेस्टेड वैकल्पिक निर्भरताओं को कभी भी इंस्टॉल न करें मैं एक पैकेज ए को संलेखित कर रहा हूं जिसे मैं एनपीएम में प्रकाशित करना चाहता हूं।एनपीएम: एनपीएम पैकेज

ए पैकेज बी पर निर्भरता है, जो बदले में पैकेज सी पर निर्भरता है। उसके बाद दो वैकल्पिक देशी निर्भरता डी और ई है। मुझे निश्चित रूप से पता है कि मेरे पास वैकल्पिक निर्भरताओं, डी और ई के लिए कोई उपयोग नहीं है, और जब कोई मेरा पैकेज इंस्टॉल करता है तो उन्हें कभी भी कोशिश और इंस्टॉल नहीं करना चाहता।

मुझे पता है कि आप वैकल्पिक निर्भरताओं के बिना पैकेज स्थापित करने के लिए npm install A --no-optional -g कमांड का उपयोग कर सकते हैं, लेकिन यह ज्ञान/ओवरहेड होगा जो मुझे पैकेज के उपभोक्ताओं की आवश्यकता नहीं होगी।

क्या कोई एनपीएम कॉन्फ़िगरेशन या वर्कअराउंड है जहां पैकेज ए के उपभोक्ता केवल npm install A या npm install -g A और वैकल्पिक निर्भरताएं कभी इंस्टॉल नहीं की जाएंगी?

धन्यवाद

उत्तर

3
npm install A --no-optional 

टेस्ट करता है, तो सब कुछ काम करता है देखने के लिए।

npm list 

सुनिश्चित करें कि आपके पास कोई त्रुटि नहीं है।

npm shrinkwrap 

इससे संकुल के लिए निर्भरता को बंद कर दिया जाएगा।

निर्भरता स्थापित करने की कोशिश करने से पहले एनपीएम इंस्टॉल एनपीएम-shrinkwrap.json में देखेंगे।

आप इसके बारे में अधिक पढ़ सकते हैं https://docs.npmjs.com/cli/shrinkwrap

संबंधित मुद्दे