दिलचस्प पोस्ट
मैं $ http के साथ फार्म डेटा urlencoded कैसे पोस्ट करूं? यदि स्ट्रिंग्स को एनएटी में अपरिवर्तनीय है, तो सबस्ट्रिंग ओ (एन) समय क्यों लेते हैं? SQL सर्वर: क्या एक ही समय में दो तालिकाओं में सम्मिलित करना संभव है? जीसीसी में std = c99 फ्लैग सेट करना कैसे एक स्पिनर में लंबा पाठ लपेटें किसी अन्य नियंत्रण पर फ़ोकस करने पर भी सूचीदृश्य को चयनित पंक्ति बैककलोल कैसे बदल सकता है? C #। नेट का उपयोग करने के लिए स्क्रीन कैप्चर कैसे करें? jQuery फ़ोकस () कभी-कभी IE8 में काम नहीं कर रहा है एक्लिप्स ने "जेएनआई साझा लाइब्रेरी लोड करने में विफल" की सूचना दी : अपेक्षित के रूप में पहले बच्चे काम नहीं कर रहे हैं Socket.io में RedisStore का उपयोग करने के उदाहरण रैक कार्य के अंदर से रेक कार्यों को कैसे चलाएं? मैं एक मौजूदा पीडीएफ में iTextSharp के साथ एक छवि कैसे सम्मिलित कर सकता हूं? WCF / .NET में डेटाटबल वापस करना स्काला @ ऑपरेटर

npm वैश्विक पथ उपसर्ग

मैं सामान्य से अधिक सतर्क रहा हूं क्योंकि मुझे अतीत में npm के व्यवहार से भ्रमित किया गया है।

मैं एक मैक पर हूँ और brew install node माध्यम से node.js brew install node

अब जब मैं कमांड लाइन पर jslint.js को चलाने के लिए jslint.js के आदेश के रूप में चलाने के लिए चाहता jslint मुझे लगता है कि यह पूरा करने के विहित तरीका sudo npm install -g jslint जो सफलतापूर्वक इस आउटपुट के साथ चला गया:

 $ sudo npm install -g jslint npm http GET https://registry.npmjs.org/jslint npm http 200 https://registry.npmjs.org/jslint npm http GET https://registry.npmjs.org/jslint/-/jslint-0.1.9.tgz npm http 200 https://registry.npmjs.org/jslint/-/jslint-0.1.9.tgz npm http GET https://registry.npmjs.org/nopt npm http 200 https://registry.npmjs.org/nopt npm http GET https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz npm http 200 https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz npm http GET https://registry.npmjs.org/abbrev npm http 200 https://registry.npmjs.org/abbrev npm http GET https://registry.npmjs.org/abbrev/-/abbrev-l.0.4.tgz npm http 200 https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz /usr/local/share/npm/bin/jslint -> /usr/local/share/npm/lib/node_modules/jslint/ bin/jslint.js jslint@0.1.9 /usr/local/share/npm/lib/node_modules/jslint └── nopt@1.0.10 (abbrev@1.0.4) 

इसके बाद

 $ jslint ply.js zsh: command not found: jslint 

/usr/local/share/npm/bin मेरे $PATH में नहीं होने के कारण

1) क्यों brew वैश्विक npm bin पथ को पथ स्थापित नहीं किया? शायद यह किया, लेकिन कुछ zsh करता है इसे खिलवाड़ कर रहा है मुझे यह कहां मिल सकता है?
2) क्या मुझे यह करना चाहिए? (मेरे ~/.zshrc के निचले भाग में निर्यातित :/usr/local/share/npm/bin )

ऐसा लगता है कि ऐसा करने का सही तरीका नहीं है क्योंकि अगर मैं कुछ बाद में (होमब्रा या होमब्रेज़ का उपयोग कर) स्थापित कर रहा हूं, तो मुझे पथ सेट करने के लिए इसे मेरे zsh स्टार्टअप स्क्रिप्ट में जोड़ने की आवश्यकता होगी। मैं इस विशेष उदाहरण में अनुमान लगाता हूं कि यह सिर्फ npm install -g का मामला npm install -g "सही" स्थान (जैसे /usr/local/bin ) में सही सिमलिंक नहीं बना रहा है।

मुझे लगता है कि मैं क्या करूँगा मैन्युअल रूप से /usr/local/bin अंदर सिमुलिंक को मैन्युअल रूप से बनाने के लिए जो किसी भी प्रोग्राम में मुझे परेशानी होती है और यह मेरे उद्देश्यों के लिए पर्याप्त होना चाहिए I

Solutions Collecting From Web of "npm वैश्विक पथ उपसर्ग"

अपने PATH को PATH :

 export PATH=/usr/local/share/npm/bin:$PATH 

एक भयानक विचार नहीं है यह कहने के बाद, आपको ऐसा करना नहीं चाहिए था

इसे चलाओ:

 npm config get prefix 

ओएस एक्स में डिफ़ॉल्ट /usr/local , जिसका अर्थ है कि एनपीएम /usr/local/bin में बायलर सिमलिंक करेगा, जो पहले से ही आपके PATH पर हो (विशेषकर यदि आप होमब्रे का उपयोग कर रहे हैं)।

इसलिए:

  1. npm config set prefix /usr/local अगर यह कुछ और है, और
  2. एसपीएम के साथ सुडो का उपयोग न करें! Jslint डॉक्स के अनुसार, आपको बस npm npm install करना चाहिए।

यदि आप npm को sudo ( sudo brew install ) के रूप में sudo brew install करते हैं, तो सादे राजभाषा ' brew install साथ इसे फिर से brew install । होमब्रे आपको sudo -फ्री रखने में मदद करना चाहिए।

इस मुद्दे पर एक समय बिताया, और पैट स्विच मदद नहीं कर रहा था। मेरी समस्या होमब्रे / नोड / एनपीएम बग मिला जो यहां मिली – https://github.com/npm/npm/issues/3794

यदि आपने होमब्रे का उपयोग करके नोड पहले से स्थापित कर लिया है, तो **** टिप्पणी प्रति टिप्पणी करें कि यह सुरक्षित नहीं हो सकता है यह मेरे लिए काम किया है, लेकिन अनपेक्षित परिणाम हो सकता है यह भी प्रतीत होता है कि होमब्रे का नवीनतम संस्करण ठीक से एनपीएम स्थापित करता है। तो संभावना है कि मैं brew update , brew doctor , brew upgrade node आदि का प्रयास करने से पहले कोशिश करूँगा ****:

 npm update -gf 

या, यदि आप होमब्रे के साथ नोड को स्थापित करना चाहते हैं और एनपीएम काम करते हैं, तो इसका प्रयोग करें:

 brew install node --without-npm curl -L https://npmjs.org/install.sh | sh 

शराब बनाने के लिए आपको sudo का उपयोग करने की आवश्यकता नहीं होनी चाहिए, भले ही वह एनपीएम के साथ- यह वास्तव में सड़क के नीचे अधिक समस्याएं पैदा कर सकता है

आम तौर पर, काढ़ा या बंदरगाह आपको पथ को अद्यतन करने देता है, इसलिए यह आपके .zshrc, .bashrc, .cshrc, या आपके द्वारा उपयोग किए जाने वाले शेल के किसी भी स्वाद को खतरे में डालता है।

मैं काढ़ा का उपयोग करता हूं और उपसर्ग पहले से तय किया गया था:

 $ npm config get prefix /Users/[user]/.node 

मैंने नोटिस किया था कि बिन और लिब फ़ोल्डर रूट के स्वामित्व में थे, जो सामान्य गैर सूडो इंस्टॉल को रोकता था, इसलिए मैं उन्हें उपयोगकर्ता के पास पुनः स्वामित्व करता हूं

 $ cd /Users/[user]/.node $ chown -R [user]:[group] lib $ chown -R [user]:[group] bin 

तब मैंने बस मेरे .bash_profile के पथ को जोड़ा है जो / उपयोगकर्ता / [उपयोगकर्ता] पर स्थित है

 PATH=$PATH:~/.node/bin 

किसी भी व्यक्ति को एक समान मुद्दे मिल गया है जो इसे काढ़ा और एनएमपी के बीच संघर्ष से संबंधित है कृपया इस समाधान की जांच करें https://gist.github.com/DanHerbert/9520689

चलने का प्रयास करें:

 PATH=$PATH:~/npm/bin 

और फिर कमांड लाइन में express एक परीक्षण करें। यह मेरे लिए काम किया

यदि आपने नोड पैकेज को sudo कमांड के साथ जोड़ा है

फिर उस फोल्डर पर जाएं जहां node_modules विश्व स्तर पर इंस्टॉल किए गए हैं

यूनिक्स सिस्टम पर वे आम तौर पर / usr / local / lib / node या / usr / local / lib / node_modules में रखे जाते हैं जब विश्व स्तर पर इंस्टॉल किया जाता है यदि आप NODE_PATH परिवेश चर को इस पथ पर सेट करते हैं, तो मॉड्यूल नोड से पा सकते हैं।

Windows XP -% USERPROFILE% \ अनुप्रयोग डेटा \ npm \ node_modules Windows 7 -% AppData% \ npm \ node_modules

और फिर कमांड चलाएँ

 ls -l 

यह सभी वैश्विक नोड_मॉड्यूल की सूची देगा और आप लिंक किए गए नोड मॉड्यूल को आसानी से देख सकते हैं।

सूड काढ़ा अब एक विकल्प नहीं है इसलिए यदि आप इस बिंदु पर काढ़ा के साथ स्थापित करते हैं तो आप 2 वास्तव में अप्रिय चीजों को प्राप्त करने जा रहे हैं: ए: इसे /usr/local/opts में स्थापित करना पसंद है या इसके अनुसार, / usr / local / साझा की है। यह सबसे पहले एक बड़ा सौदा नहीं है, लेकिन मेरे पास नोड पाथ के साथ समस्याएं हैं, खासकर जब मैंने लिंट स्थापित किया था। बी: आप की तरह sudo आज्ञाओं के साथ अटक कर रहे हैं जब तक आप या तो स्थापना रद्द करें और इसे इस तरह से स्थापित या आप Bitnami से ढेर प्राप्त कर सकते हैं

मैं स्टैक ऑप्शन पर इस पद्धति की अनुशंसा करता हूं क्योंकि यह आपके पास एक से अधिक परियोजनाओं के लिए जाने के लिए तैयार है अगर आप premade MEAN स्टैक के साथ जाते हैं तो आपको httpd.conf में वर्चुअल होस्ट्स को सेट करना होगा (XAMPP की तुलना में इस स्टैक में अधिक दर्द) अपने अतिरिक्त / vhosts.conf और / etc / hosts को हर अतिरिक्त प्रोजेक्ट, जब तक आप चीजों को अपडेट करने के लिए अपने सर्वर को पुनर्निर्माण और पुनरारंभ करना नहीं चाहते हैं