2012-11-18 23 views
10

में सभी मॉड्यूल स्थापित करता है मेरे पास उबंटू 12.10 पर node.js 0.8.14 स्थापित है। मैंने अपनी होम निर्देशिका में एक उप निर्देशिका node_modules के साथ एक निर्देशिका बनाई। मैं वहाँ कुछ स्थानीय नोड मॉड्यूल स्थापित लेकिन चल
npm install myModule इस निर्देशिका में -g झंडाएनपीएम/usr/local/lib/node_modules/

.bashrc में कोई नोड पथ नहीं है के साथ मॉड्यूल स्थापित करने के रूप में /usr/local/lib/node_modules/ (समान व्यवहार में इस मॉड्यूल स्थापित करता है करना चाहते हैं।

किसी भी विचार कैसे मैं स्थानीय नोड मॉड्यूल स्थापित कर सकते हैं?

उत्तर

20

कुछ आगे अनुसंधान के बाद मैं समाधान मिल गया।

आदेश npm config ls चल रहा है पता चला है कि डिफ़ॉल्ट config global=false (आप npm config ls -l के साथ डिफ़ॉल्ट config देखें) /home/vsdev/.npmrc और /usr/local/etc/npmrc में global=true द्वारा ओवरराइट किया गया था।

इसे global=false पर वापस करने से समस्या हल हो गई।

+0

बहुत बढ़िया!मैं सिर्फ नोड के लिए नया हूं और संघर्ष कर रहा था क्योंकि स्थानीय गड़बड़ी नहीं मिल रही थी। मुझे यह पता लगाने में काफी समय लगा कि समस्या यह कॉन्फ़िगरेशन थी। धन्यवाद! –

3

कि अजीब है।

  • एफ वाई, आपको node_modules निर्देशिका बनाने की आवश्यकता नहीं है, npm आपके लिए ऐसा करेगा
  • npm सामान्य रूप से केवल वर्तमान निर्देशिका में स्थापित करता है। यहां तक ​​कि यदि आप जिस पैकेज को इंस्टॉल कर रहे हैं उसे वैश्विक स्थापना को प्राथमिकता देने के लिए कॉन्फ़िगर किया गया है, तो npm इसे स्थानीय रूप से इंस्टॉल नहीं करेगा जबतक कि आप स्पष्ट रूप से -g पैरामीटर पास नहीं करते हैं।
  • क्या आप निम्न खोल कमांड चला सकते हैं और पुष्टि कर सकते हैं कि एनपीएम वास्तव में वास्तविक एनपीएम है?
    • which npm
    • alias | grep npm
1

NPM सभी node_modules में लोड स्थापित तो यह संस्करण 3 व्यवहार http://blog.npmjs.org/post/110924823920/npm-weekly-5 हो सकता है या के रूप में @vsdev ने उल्लेख किया तो एक बार आप यकीन है कि यह संस्करण 3 व्यवहार करते हैं और यू तो यह साथ जाना चाहते इसे किसी अन्य ठीक

नीचे का पालन करें 1- स्थापना रद्द करें अपनी परियोजना में node_modules फ़ोल्डर में सभी मॉड्यूल .. तो निष्पादित करें: विरासत इस एक के लिए बंडल स्थापित के साथ स्थापित करने के लिए NPM स्थापना रद्द करें *

2- टेल NPM:

NPM स्थापित --legacy-bundling एक "स्थायी" विकल्प:

अपने NPM config हमेशा bundling विरासत उपयोग करने के लिए ...

NPM सेट विरासत-बंडलिंग = सच

.. और चलाने के रूप में हमेशा की तरह सेट करें:

NPM स्थापित

* प्राप्त करने में कठिनाई विरासत बंडलिंग के साथ निर्भरता में बहुत अधिक समय लगेगा क्योंकि समान निर्भरताओं के कई अलग-अलग संस्करण स्थापित किए जाएंगे।

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

  • कोई संबंधित समस्या नहीं^_^