सवाल मैं एनपीएम का उपयोग कर विश्व स्तर पर एक मॉड्यूल कैसे स्थापित करूं?


मैंने हाल ही में ओएसएक्स पर नोड.जेएस और एनपीएम मॉड्यूल स्थापित किया है और मुझे लगता है कि सेटिंग्स के साथ एक समस्या है:

npm install [MODULE] is not installing the node.js module to the default path 
which is /usr/local/lib/node_modules.

181
2018-04-28 11:30


मूल




जवाब:


यदि आप वैश्विक स्तर पर एक एनपीएम मॉड्यूल स्थापित करना चाहते हैं, तो नए का उपयोग करना सुनिश्चित करें -g ध्वज, उदाहरण के लिए:

npm install forever -g

1.0rc के बाद से एनपीएम मॉड्यूल स्थापना से संबंधित सामान्य सिफारिशें (से लिया गया blog.nodejs.org):

  • यदि आप ऐसा कुछ इंस्टॉल कर रहे हैं जिसका उपयोग आप अपने प्रोग्राम में उपयोग करना चाहते हैं   फिर, 'जो भी') की आवश्यकता है इसे स्थापित करो   स्थानीय स्तर पर, आपकी जड़ पर   परियोजना।
  • यदि आप कुछ ऐसा इंस्टॉल कर रहे हैं जिसे आप अपने खोल में उपयोग करना चाहते हैं, तो   कमांड लाइन या कुछ, इंस्टॉल करें   यह वैश्विक स्तर पर है, ताकि इसकी द्विआधारी   अपने पाथ पर्यावरण में खत्म हो जाओ   चर।

मैंने हाल ही में इस सिफारिशों का उपयोग किया और यह बहुत आसानी से नीचे चला गया। मैंने हमेशा के लिए वैश्विक रूप से स्थापित किया है (क्योंकि यह एक कमांड लाइन उपकरण है) और मेरे सभी एप्लिकेशन मॉड्यूल स्थानीय रूप से।

हालांकि, यदि आप वैश्विक स्तर पर कुछ मॉड्यूल का उपयोग करना चाहते हैं (यानी एक्सप्रेस या मोंगोड), तो यह सलाह लें (यहां से लिया गया blog.nodejs.org):

बेशक, कुछ मामले हैं जहां   आप दोनों करना चाहते हैं। कॉफी-स्क्रिप्ट और   एक्सप्रेस दोनों ऐप्स के अच्छे उदाहरण हैं   जिसमें कमांड लाइन इंटरफ़ेस है, जैसा कि   एक पुस्तकालय के रूप में अच्छी तरह से। उन मामलों में, आप   निम्नलिखित में से एक कर सकते हैं:

  • इसे दोनों जगहों पर स्थापित करें। गंभीरता से, क्या आप डिस्क पर कम हैं   अंतरिक्ष? यह ठीक है, वास्तव में। वे छोटे हैं   जावास्क्रिप्ट प्रोग्राम
  • इसे वैश्विक स्तर पर स्थापित करें, और फिर एनपीएम लिंक कॉफी-स्क्रिप्ट या एनपीएम लिंक एक्सप्रेस   (यदि आप एक मंच पर हैं जो समर्थन करता है   प्रतीकात्मक लिंक।) तो आपको केवल इसकी आवश्यकता है   सभी को अद्यतन करने के लिए वैश्विक प्रति अद्यतन करें   सिम्लिंक भी।

पहला विकल्प मेरे में सबसे अच्छा है   राय। सरल, स्पष्ट, स्पष्ट।   यदि आप हैं तो दूसरा वास्तव में आसान है   एक ही पुस्तकालय को फिर से उपयोग करने जा रहा है   विभिन्न परियोजनाओं का गुच्छा। (अधिक   भविष्य की किश्त में एनपीएम लिंक।)

मैंने उन बदलावों में से एक का परीक्षण नहीं किया, लेकिन वे बहुत सरल दिखते हैं।


324
2018-04-29 09:07



स्पष्टीकरण के लिए धन्यवाद। उपरोक्त पाठ के साथ इसहाक को पूरे एनपीएम मैनफाइल और गिट विकी को प्रतिस्थापित करना चाहिए। बड़े पैमाने पर भ्रम को साफ़ कर सकता है। - Mauvis Ledford
shweeet। यह आसान हो गया, मैं इस बदलाव से पकड़ा गया। कुछ बिंदु पर एनपीएम इंस्टॉल ने कमांड लाइन एक्सेस दिया, तो यह गायब हो गया और मैं संक्रमण को पकड़ने के लिए पर्याप्त परियोजना का पालन नहीं कर रहा था। - Mark Essel
यह बताता है कि मेरे अपाचे कॉन्फ़िगरेशन निर्देशिका में मेरे पास नोड मॉड्यूल क्यों समाप्त हुआ था। । । - Ian Hunter
से blog.node.js.org : आमतौर पर {prefix} / bin में वैश्विक बाइनरी स्थापित होते हैं और वैश्विक मॉड्यूल {prefix} / node_modules में स्थापित होते हैं और स्थानीय मॉड्यूल ./node_modules में होते हैं, निष्पादन योग्य ./node_modules/.bin/ में जाते हैं। तुम दौड़ सकते हो npm prefix स्थानीय उपसर्ग प्राप्त करने के लिए, और node prefix -g वैश्विक उपसर्ग देखने के लिए :) - nacho4d
"यदि आप कुछ प्रोग्राम इंस्टॉल कर रहे हैं जिसे आप अपने प्रोग्राम में उपयोग करना चाहते हैं, तो आवश्यकता ('जो भी') का उपयोग कर इसे स्थानीय रूप से स्थापित करें, आपके प्रोजेक्ट की जड़ पर। "- मुझे लगता है कि मॉड्यूल संकलित बाइनरी में एक अच्छा विचार नहीं है: इसे लिनक्स और विंडोज़ पर ठीक से संकलित किया जाना चाहिए। मुझे लगता है कि ऐसे मॉड्यूल को NODE_PATH का उपयोग करके सेट करना होगा पर्यावरण व्यवहार्य (nodejs.org/api/...) - Sneg


मैक पर, मैंने पाया कि आउटपुट में वह जानकारी शामिल थी जिसे मैं ढूंढ रहा था:

$> 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इसे करने में, मैं दौड़ने में सक्षम था

$> karma --help

सामान्य रूप से।


8
2018-05-19 14:36





मुझे आपके ऐप फ़ोल्डर की रूट में a package.json फ़ाइल का उपयोग करना पसंद है।

यहां मैं उपयोग करता हूं

nvm use v0.6.4

http://pastie.org/3232212

npm install

4
2018-01-22 18:35





मुझे उबंटू पर एक्सप्रेस स्थापित करने में समस्याएं थीं:

अगर किसी कारण से एनपीएम कमांड गुम है, तो एनपीएम कमांड का परीक्षण करें npm help। यदि नहीं, तो इन चरणों का पालन करें - http://arnolog.net/post/8424207595/installing-node-js-npm-express-mongoose-on-ubuntu

अगर एक्सप्रेस कमांड काम नहीं कर रहा है, तो कोशिश करें:

sudo npm install -g express

यह सबकुछ काम करता है क्योंकि मुझे विंडोज 7 और ओएसएक्स के साथ उपयोग किया जाता है।

उम्मीद है की यह मदद करेगा!


2
2018-02-17 10:47





आपके पास वैश्विक स्थान जैसे नोड मॉड्यूल को स्थापित करने के लिए लिखने की अनुमति नहीं हो सकती है /usr/local/lib/node_modules, जिस स्थिति में रूट के रूप में npm install -g पैकेज चलाते हैं।


-5
2018-02-17 00:58