मैं उन्नत करने के लिए प्रयास कर रहा था phonegapके माध्यम से npmजब मैं मुसीबत में चल रहा शुरू कर दिया। लंबी कहानी, node_modulesमेरे कंप्यूटर पर दो निर्देशिकाएं हैं।
/usr/local/lib/node_modules
/usr/local/share/npm/lib/node_modules
जब मैं दौड़ता हूं npm upgrade -g phonegap, तो ऐसा प्रतीत होता है कि npmउस पैकेज की कॉपी को अपडेट करता है जो अंदर रहता है /usr/local/lib/node_modules। हालाँकि, अगर मुझे which phonegapलगता है कि सिमिलिंक पुराने इंस्टॉलेशन पर इंगित करता है /usr/local/share/npm/lib/node_modules।
इसके अलावा, जब मैं एक अकेले खड़े पैकेज को स्थापित करने का प्रयास करता हूं जैसे कि express, फाइलें /usr/local/lib/node_modulesनिर्देशिका में स्थापित की जाती हैं , लेकिन निष्पादन योग्य के लिए कोई भी सहानुभूति मेरे में कहीं भी नहीं बनाई जाती है $PATH।
दो सवाल:
- मैक ओएस एक्स पर नोड मॉड्यूल के लिए उचित निर्देशिका कौन सी है?
जबnpmमैं$PATHसॉफ़्टवेयर स्थापित करता हूं, तो मैं निष्पादन योग्य लिंक को कैसे कॉन्फ़िगर कर सकता हूं ?
बोनस अंक: स्थापित करने की विधि nodeविन्यास को प्रभावित करती है? वहाँ एक हैं विकल्पों में से बहुत कुछ ।
संपादित करें : मैं पता लगा कि सिमलिंक मेरे में बनाया जा रहा था /usr/local/bin, लेकिन मेरे .bash_profileसाथ सेटअप था /usr/local/share/npm/binके आगे /usr/local/binमेरी में $PATH। मुझे कुछ समय में अपनी प्रोफ़ाइल में उस पथ को जोड़ने की याद है, लेकिन मुझे यकीन नहीं है कि क्यों।
तो अब सवाल यह हो जाता है: मैं node_modulesअपने कंप्यूटर पर दो अलग-अलग निर्देशिकाओं के साथ कैसे समाप्त हुआ और मैं अपने अधिकार के बजाय उपनिर्देशिका node_modulesमें क्यों होना चाहूंगा ?share/npm/lib/usr/local/lib