मैं कई निर्भरता के साथ एक npm पैकेज को संशोधित करने के लिए भाग ले रहा हूं। जैसा कि npm install -g .निष्पादित करने में लंबा समय लगता है। क्या मेरे पास पैकेजों से निर्भरता को हटाने के अलावा अन्य विकल्प हैं।
मैं कई निर्भरता के साथ एक npm पैकेज को संशोधित करने के लिए भाग ले रहा हूं। जैसा कि npm install -g .निष्पादित करने में लंबा समय लगता है। क्या मेरे पास पैकेजों से निर्भरता को हटाने के अलावा अन्य विकल्प हैं।
जवाबों:
- इस विकल्प के अनुसार अब वैकल्पिक विकल्प लागू नहीं किया गया है https://docs.npmjs.com/cli/install :
The --no-optional argument will prevent optional dependencies from being installed.
डॉक्स के माध्यम से देखने पर यह --no-optionalस्विच से परे एक विकल्प नहीं दिखता है ।
यह SO Q & A शीर्षक: npm installनेटवर्क पर मेरी परियोजना की सभी निर्भरता स्थापित करता है, भले ही वे पहले से स्थापित हों या कैश से उपलब्ध हों, इसका मतलब है कि एक --skip-installedस्विच है। लेकिन डॉक्स इस स्विच का कोई संदर्भ नहीं देते हैं।
यदि आप node_moduleखुद को विकसित कर रहे हैं , तो अपना समय बर्बाद न करें npm install, इसके बजाय उपयोग करें npm link।
संक्षेप में, आप npm के स्वामित्व वाले वैश्विक फ़ोल्डर पर अपने मॉड्यूल फ़ोल्डर के लिए एक प्रतीकात्मक लिंक बनाते हैं, और फिर अपने ऐप फ़ोल्डर में आप npm से उस प्रतीकात्मक लिंक किए गए फ़ोल्डर का उपयोग करने के लिए कहते हैं।
यह आपके एप्लिकेशन में तुरंत दिखाई देने वाले मॉड्यूल फ़ोल्डर में आपके द्वारा किए गए परिवर्तन करता है।
यहां मुख्य चरण दिए गए हैं (नीचे दिए गए ट्यूटोरियल से कॉपी किए गए, महत्वपूर्ण गोचरों के लिए ट्यूटोरियल पढ़ना सुनिश्चित करें):
src/my_module npm link"। यह एक वैश्विक फ़ोल्डर से फ़ोल्डर के लिए एक प्रतीकात्मक लिंक बनाता है src/my_module।src/my_appnpm 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
इस सुविधा को 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
--ignore-packageया कुछ होना चाहिए ।