दिलचस्प पोस्ट
वैकल्पिक घोषणा (के & आर) सी वाक्य रचना बनाम प्रोटोटाइप के लिए अजगर गणित गलत है वेब। कॉन्फ़िग प्रोग्राम को सी # (.NET) के साथ बदलें क्या मेरे पास एक मेज पर एकाधिक प्राथमिक कुंजी हो सकती है? पायथन में एमएस वर्ड फाइलों से पाठ निकालने फाइनल बनाम डिस्पोज़ करें MySQL: किसी भी रेंज में सभी तिथियां चुनें, भले ही कोई रिकॉर्ड मौजूद न हो एसक्यूएल में, आप श्रेणियों में "समूह" कैसे कर सकते हैं? onSaveInstanceState () और onRestoreInstanceState () कैसे जावा में पूर्ण स्क्रीन अनन्य मोड में कुंजीपटल और माउस से घटनाओं को संभालना है? कैसे iPhone / iPad डिवाइस पर कुल उपलब्ध / मुक्त डिस्क स्थान का पता लगाने के लिए? एक पूर्णांक प्रभाग में अंश कैसे प्राप्त करें? PhpMyAdmin में UTF-8 वर्ण कैसे प्रदर्शित करें? एक गैर-ऑब्जेक्ट पीएचपी सहायता पर एक सदस्य फ़ंक्शन तैयार करें () को कॉल करें कैसे ArrayIndexOutOfBoundsException या IndexOutOfBoundsException से बचने के लिए?

एनपीएम / यूलर जनरेटर-कोणीय बिना एसड्यूओ इंस्टॉल करें

मैंने sudo के बिना यो ( योमन ) का उपयोग करने वाले जनरेटर-कोणुलजेज़ को स्थापित करने की कोशिश की:

npm install -g generator-angular 

मुझे मिला:

 Error: EACCES, mkdir '/usr/lib/node_modules/generator-angular' 

जब मैं sudo yo में टाइप करता हूँ, यो मुझे बताता है कि मुझे सूडो का उपयोग नहीं करना चाहिए (जो पूरी तरह से समझ में आता है)।

मेरे पास एक ~/node_modules निर्देशिका है – आप अपने पैकेजों को क्यों स्थापित नहीं कर सकते?

वेब के समाधान से एकत्रित समाधान "एनपीएम / यूलर जनरेटर-कोणीय बिना एसड्यूओ इंस्टॉल करें"

जेनरेटर विश्व स्तर पर स्थापित होने के लिए डिज़ाइन किए गए हैं। अन्यथा, आपको हमेशा उस प्रोजेक्टर को इंस्टॉल करना होगा जो आप प्रत्येक प्रोजेक्ट में उपयोग करने वाले हैं, जो कि बेकार में दर्दनाक है इसके अलावा, आप प्यारे yo मेनू को नहीं देख पाएंगे जो आपको सभी उपलब्ध जनरेटरों को सूचीबद्ध करता है (बेशक, आप उन्हें स्थानीय स्तर पर स्थापित करते हैं ):

यो

वैश्विक स्थापना के लिए npm सेट करना

इसलिए, हम एनपीएम को विश्व स्तर पर पैकेज कैसे स्थापित कर सकते हैं? जैसा कि आपने सही ढंग से कहा है, कभी भी आप कभी yo साथ नहीं चलेंगे इस समस्या के कई अलग-अलग समाधान हैं और आप धार्मिक रूप से अपने पेशेवरों और विधियों पर चर्चा करते हुए घंटे बिता सकते हैं।

मैं व्यक्तिगत तौर पर अपने उपयोगकर्ता पैकेज को वैश्विक /usr/ फ़ोल्डर में स्थापित करने से /usr/ /usr/ सॉफ्टवेयर के लिए है जो कंप्यूटर पर सभी उपयोगकर्ताओं के बीच साझा किया जाता है। यहां तक ​​कि अगर यह केवल मशीन का उपयोग कर रहा हो, तो यूनिक्स फाइल सिस्टम के क्रमबद्ध रूप से डिजाइन किए जाने के संबंध में अभी भी अच्छे कारण हैं। उदाहरण के लिए यदि आप अपने पूरे नोड इंस्टॉलेशन को पोंछने के लिए एक बिंदु पर निर्णय लेते हैं।

$HOME से बाहर किए बिना विश्व स्तर पर संकुल को स्थापित करने के लिए npm को सक्षम करने का मेरा पसंदीदा तरीका है एक स्थानीय नोड उपसर्ग सेट करना यह चलने के रूप में आसान है

 echo 'prefix = ~/.node' >> ~/.npmrc 

अपने स्थानीय शेल में इसके बाद, आप अपने पसंदीदा पैलेट के समायोजन के द्वारा वैश्विक नोड एक्जीक्यूटेबल्स के लिए नए इंस्टॉलेशन गंतव्य को इंगित करने के लिए अपने $ पाथ को समायोजित करना चाहते हैं। उदाहरण जोड़कर

 export PATH="$PATH:$HOME/.node/bin" 

आपके ~/.bashrc उसके बाद, आप खुशी से npm install -g generator-angular sudo बिना चला सकते हैं, बिना किसी अनुमति के विरोध में चला सकते हैं और अगर कुछ पूरी तरह से टूटा हुआ है और आप स्क्रैच से शुरू करना चाहते हैं, तो आपको केवल अपनी ~/.node निर्देशिका को निकालना होगा।

@ पार्सी के लिए धन्यवाद, आखिरकार मैं इसे उबुंटू 13.04 पर काम कर रहा हूं (मामले में किसी को भी इसी तरह की समस्याएं हैं) निम्नलिखित के साथ:

 sudo apt-get update sudo apt-get install python-software-properties python g++ make sudo add-apt-repository ppa:chris-lea/node.js sudo apt-get update sudo apt-get install nodejs 

चलाने की कोशिश कर रहा है:

 npm install -g yo 

परिणामस्वरूप

 Error: EACCES, mkdir '/usr/lib/node_modules/yo' 

का उपयोग कर फिक्स्ड:

 echo prefix = ~/.node >> ~/.npmrc echo 'export PATH=$HOME/.node/bin:$PATH' >> ~/.bashrc . ~/.bashrc 

चल रहा है:

 yo webapp 

परिणामस्वरूप:

 Error: EACCES, permission denied '/home/username/.config/configstore/update-notifier-yo.yml' 

का उपयोग कर फिक्स्ड:

 sudo chown yourusername:yourusername /home/yourusername/.config/configstore/update-notifier-yo.yml 

मेरे मामले में हाय (उबंटू 12.04 पर), ~ / .npmrc में उपसर्ग जोड़ कुछ भी नहीं बदला।

यदि हां, तो अपने द्वारा नोड पैकेज का निर्माण करें और इसे / opt / node या /home/user/.node में इंस्टॉल करें।

मेरे पास लगभग एक समान त्रुटि थी, जो कि एक प्रोजेक्ट से मेरे मूल निर्देशिका में एक दुष्ट .yo-rc.json फ़ाइल शामिल थी जिसे मैंने पहले स्थापित किया था। यमन अधिष्ठापन के माध्यम से अधिष्ठापन के माध्यम से रूट डायरे से आधे रास्ते में सीडब्ल्यूडी स्विचिंग कर रहा था, लेकिन यह केवल किसी भी विवरण के बिना EACCESS अनुमति त्रुटि को आउटपुट कर रहा था कि स्थापना निर्देशिका / यह उम्र जानने के लिए ये क्यों था, और यमन स्रोत के माध्यम से डिबगिंग शामिल था, लेकिन अंततः मुझे पता चला कि यमन निर्देशिका पेड़ के माध्यम से .yo-rc.json जब तक इसे .yo-rc.json , नए स्थान पर

पुरूष को यह जांचना चाहिए कि उपयोगकर्ता ने निर्देशिका के लिए अनुमतियां लिख दी हैं। वैकल्पिक रूप से, यह आउटपुट में उल्लेख कर सकता है कि सीडब्ल्यूडी ने बदल दिया है, या जहां यह पाता है .yo-rc.json इंस्टॉलेशन निर्देशिका का नाम प्रिंट किया जाता है .yo-rc.json से अलग है।

दुष्ट .yo-rc.json फ़ाइलों को खोजने के लिए आदेश

sudo find / -name .yo-rc.json

शुरू होने वाले योनाम से पृष्ठ कमांड दिखाई देता है:

 yo doctor 

मेरे मामले में, $ NODE_PATH (जो मेरे मामले में, उबंटु 14.04, को /etc/profile.d में परिभाषित किया गया है) npm रूट से एक समान नहीं है। एनओएम रूट में $ NODE_PATH में जोड़ना समस्या का समाधान करता है

मैं अपने vagrant बॉक्स के साथ अच्छी तरह से खेलने के लिए yeoman प्राप्त करने की कोशिश कर रहा हूं और विश्व स्तर पर npm संकुल को विश्व स्तर पर स्थापित करने के लिए npm पर sudo बिना मुझे क्या करना था:

1. वैश्विक पैकेजों को स्टोर करने के लिए निर्देशिका बनाएं

$ mkdir "${HOME}/.npm-packages"

2. npm बताएं कि विश्व स्तर पर किसी भी पैकेज को स्थापित करने के लिए

इस स्निपेट को अपने ~/.npmrc फ़ाइल में डालें:

prefix=${HOME}/.npm-packages

3. सुनिश्चित करें कि npm इंस्टॉल किए गए binaries एट से पता लगा सकते हैं

इस स्निपेट को अपने .bashrc/.zshrc में डालें:

 NPM_PACKAGES="${HOME}/.npm-packages" PATH="$NPM_PACKAGES/bin:$PATH" // `unset` `manpath` to allow inheritance from `/etc/manpath` with // the `manpath` command unset MANPATH // remove this line if you have previously modified `manpath` export MANPATH="$NPM_PACKAGES/share/man:$(manpath)" 

4. निम्नलिखित को चलाने या टर्मिनल पुनः आरंभ करें

$ source ~/.bashrc

उम्मीद है कि किसी ऐसे व्यक्ति को मदद करता है जो खुद को समान स्थिति में पाता है।