क्या निर्भरता के बिना एक एनपीएम पैकेज स्थापित करने का विकल्प है?


21

मैं कई निर्भरता के साथ एक npm पैकेज को संशोधित करने के लिए भाग ले रहा हूं। जैसा कि npm install -g .निष्पादित करने में लंबा समय लगता है। क्या मेरे पास पैकेजों से निर्भरता को हटाने के अलावा अन्य विकल्प हैं।

जवाबों:


18

- इस विकल्प के अनुसार अब वैकल्पिक विकल्प लागू नहीं किया गया है https://docs.npmjs.com/cli/install :

The --no-optional argument will prevent optional dependencies from being installed.

7

डॉक्स के माध्यम से देखने पर यह --no-optionalस्विच से परे एक विकल्प नहीं दिखता है ।

Untested / uncomfirmed

यह SO Q & A शीर्षक: npm installनेटवर्क पर मेरी परियोजना की सभी निर्भरता स्थापित करता है, भले ही वे पहले से स्थापित हों या कैश से उपलब्ध हों, इसका मतलब है कि एक --skip-installedस्विच है। लेकिन डॉक्स इस स्विच का कोई संदर्भ नहीं देते हैं।


7

यदि आप node_moduleखुद को विकसित कर रहे हैं , तो अपना समय बर्बाद न करें npm install, इसके बजाय उपयोग करें npm link

संक्षेप में, आप npm के स्वामित्व वाले वैश्विक फ़ोल्डर पर अपने मॉड्यूल फ़ोल्डर के लिए एक प्रतीकात्मक लिंक बनाते हैं, और फिर अपने ऐप फ़ोल्डर में आप npm से उस प्रतीकात्मक लिंक किए गए फ़ोल्डर का उपयोग करने के लिए कहते हैं।

यह आपके एप्लिकेशन में तुरंत दिखाई देने वाले मॉड्यूल फ़ोल्डर में आपके द्वारा किए गए परिवर्तन करता है।

यहां मुख्य चरण दिए गए हैं (नीचे दिए गए ट्यूटोरियल से कॉपी किए गए, महत्वपूर्ण गोचरों के लिए ट्यूटोरियल पढ़ना सुनिश्चित करें):

  1. cd को src/my_module
  2. भागो " npm link"। यह एक वैश्विक फ़ोल्डर से फ़ोल्डर के लिए एक प्रतीकात्मक लिंक बनाता है src/my_module
  3. cd को src/my_app
  4. भागो npm link my_module। यह node_modules/my_moduleइस विशेष प्रोजेक्ट को वैश्विक फ़ोल्डर में लिंक करता है, ताकि आपके विकास फ़ोल्डर से इसे लोड करने के requireलिए my_moduleहवा की तलाश हो src/my_module

इस ट्यूटोरियल को देखें: http://justjs.com/posts/npm-link-developing-your-own-npm-modules-without-tears और इसके लिए आधिकारिक डॉक्स npm link: https://docs.npmjs.com/fli/link


मेरे स्वीकार किए गए उत्तर को नहीं बदलना, लेकिन उत्थान करना क्योंकि यह मेरे विशिष्ट मामले के लिए उपयोगी है।
जस्टिन डिअरिंग

4

इस सुविधा को 2010 में वापस करने का अनुरोध किया गया था, लेकिन दुर्भाग्यपूर्ण अनदेखी की गई और इसे बंद कर दिया गया: https://github.com/npm/npm/issues/340

मैं विकल्पों का एक गुच्छा की कोशिश की, और अंत में एक बहुत ही सरल समाधान मिला - पैकेज का नाम बदलें। doint npm स्थापित करने से पहले कुछ और करने के लिए, फिर इसे खत्म करने के बाद वापस स्थापित करें:

mv package.json package.bak
npm install <package_name> --no-save
mv package.bak package.json

2
वाह, क्या यह गंभीरता से अभी भी एकमात्र तरीका है? यह हास्यास्पद है, एक झंडा --ignore-packageया कुछ होना चाहिए ।
याकूबTheev

2
यह समाधान अच्छा है और अब तक यह मेरे प्रश्न का सबसे अच्छा समाधान हो सकता है: stackoverflow.com/questions/53532845/…
aGuegu
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.