मैंने हाल ही में OSX पर Node.js और npm मॉड्यूल स्थापित किया है और मुझे लगता है कि सेटिंग्स के साथ एक समस्या है:
npm install [MODULE] is not installing the node.js module to the default path
which is /usr/local/lib/node_modules.
मैंने हाल ही में OSX पर Node.js और npm मॉड्यूल स्थापित किया है और मुझे लगता है कि सेटिंग्स के साथ एक समस्या है:
npm install [MODULE] is not installing the node.js module to the default path
which is /usr/local/lib/node_modules.
जवाबों:
यदि आप विश्व स्तर पर एक npm मॉड्यूल स्थापित करना चाहते हैं, तो -g
उदाहरण के लिए, नए ध्वज का उपयोग करना सुनिश्चित करें :
npm install forever -g
1.0pm के बाद से npm मॉड्यूल इंस्टालेशन से संबंधित सामान्य सिफारिशें ( blog.nodejs.org से ली गई हैं ):
- यदि आप किसी ऐसी चीज को स्थापित कर रहे हैं जिसे आप अपने प्रोग्राम में उपयोग करना चाहते हैं, तो आवश्यकता ('जो भी हो) का उपयोग करके, फिर इसे स्थानीय रूप से , अपने प्रोजेक्ट के रूट पर स्थापित करें।
- यदि आप कुछ ऐसा स्थापित कर रहे हैं जिसे आप अपने शेल में उपयोग करना चाहते हैं, तो कमांड लाइन या कुछ और पर, इसे विश्व स्तर पर स्थापित करें , ताकि इसके बायनेरी आपके पैट वातावरण वातावरण में समाप्त हो जाएं।
मैंने हाल ही में इस सिफारिशों का उपयोग किया है और यह बहुत आसानी से नीचे चला गया है। मैंने विश्व स्तर पर हमेशा स्थापित किया (क्योंकि यह एक कमांड लाइन टूल है) और स्थानीय रूप से मेरे सभी एप्लिकेशन मॉड्यूल।
हालाँकि, यदि आप कुछ मॉड्यूल विश्व स्तर पर उपयोग करना चाहते हैं (अर्थात एक्सप्रेस या मोंगोडब), तो यह सलाह लें (यह भी ब्लॉग से लिया गया। nodejs.org ):
बेशक, कुछ ऐसे मामले हैं जहां आप दोनों करना चाहते हैं। कॉफी-स्क्रिप्ट और एक्सप्रेस दोनों ऐसे ऐप्स के अच्छे उदाहरण हैं जिनमें कमांड लाइन इंटरफ़ेस है, साथ ही एक लाइब्रेरी भी है। उन मामलों में, आप निम्न में से एक कर सकते हैं:
- इसे दोनों जगहों पर स्थापित करें । गंभीरता से, क्या आप डिस्क स्थान पर कम हैं? यह ठीक है, वास्तव में है। वे छोटे जावास्क्रिप्ट प्रोग्राम हैं।
- इसे विश्व स्तर पर स्थापित करें, और फिर npm लिंक कॉफ़ी-स्क्रिप्ट या npm लिंक एक्सप्रेस (यदि आप एक ऐसे प्लेटफ़ॉर्म पर हैं जो प्रतीकात्मक लिंक का समर्थन करता है।) तो आपको केवल सभी साइमलिंक को अपडेट करने के लिए ग्लोबल कॉपी को अपडेट करना होगा।
मेरी राय में पहला विकल्प सबसे अच्छा है। सरल, स्पष्ट, स्पष्ट। यदि आप विभिन्न परियोजनाओं के एक ही पुस्तकालय में एक ही पुस्तकालय का फिर से उपयोग करने जा रहे हैं तो दूसरा वास्तव में बहुत आसान है। (भविष्य की किस्त में npm लिंक पर अधिक।)
मैंने उन विविधताओं में से एक का परीक्षण नहीं किया, लेकिन वे बहुत ही सरल प्रतीत होती हैं।
npm prefix
स्थानीय उपसर्ग पाने के लिए दौड़ सकते हैं , और node prefix -g
वैश्विक उपसर्ग देखने के लिए :)
एक मैक पर, मैंने पाया कि आउटपुट में वह जानकारी थी जिसकी मुझे तलाश थी:
$> npm install -g karma
...
...
> ws@0.4.25 install /usr/local/share/npm/lib/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws
> (node-gyp rebuild 2> builderror.log) || (exit 0)
...
$> ls /usr/local/share/npm/bin
karma nf
जोड़ने के बाद /usr/local/share/npm/bin
करने के लिए export PATH
मेरे में लाइन .bash_profile
, यह बचत, और source
यह ing, मैं चलाने के लिए सक्षम था
$> karma --help
सामान्य रूप से।
मुझे आपके ऐप फ़ोल्डर की जड़ में एक पैकेज.जॉन फ़ाइल का उपयोग करना पसंद है।
यहाँ एक मैं उपयोग कर रहा हूँ
nvm use v0.6.4
npm install
मेरे पास उबंटू पर एक्सप्रेस स्थापित करने के मुद्दे थे:
यदि किसी कारण से NPM कमांड गायब है, तो npm कमांड को टेस्ट करें npm help
। यदि नहीं, तो इन चरणों का पालन करें - http://arnolog.net/post/8424207595/installing-node-js-npm-express-mongoose-on-ubuntu
अगर सिर्फ एक्सप्रेस कमांड काम नहीं कर रहा है, तो कोशिश करें:
sudo npm install -g express
यह सब कुछ काम कर रहा है जैसा कि मुझे विंडोज 7 और ओएसएक्स के साथ उपयोग किया जाता है।
उम्मीद है की यह मदद करेगा!
आपको सुपरसुसर विशेषाधिकार प्राप्त करने की आवश्यकता है,
sudo npm install -g <package name>
Ubuntu में, .bashrc फ़ाइल में node_modules का पथ सेट करें
निर्यात पथ = "/ घर / उपयोगकर्ता नाम / नोड_मॉड्यूल / .bin: $ पथ"
आपके पास वैश्विक स्थान पर नोड मॉड्यूल स्थापित करने के लिए लिखने की अनुमति नहीं हो सकती है /usr/local/lib/node_modules
, जैसे कि मामले में npm इंस्टॉल -g पैकेज को रूट के रूप में चलाते हैं।