"संदेश रजिस्ट्री से लाने में विफल" किसी भी मॉड्यूल को स्थापित करने की कोशिश करते समय


355

मैं npm से कोई नोड मॉड्यूल स्थापित नहीं कर सकता।

npm install socket.io

उपरोक्त कमांड के परिणामस्वरूप आउटपुट नीचे आया, यह सॉकेट को स्थापित करने में सक्षम नहीं है

npm http GET https://registry.npmjs.org/socket.io

npm ERR! Error: failed to fetch from registry: socket.io
npm ERR!     at /opt/node0610/lib/node_modules/npm/lib/utils/npm-registry-client/get.js:139:12
npm ERR!     at cb (/opt/node0610/lib/node_modules/npm/lib/utils/npm-registry-client/request.js:32:9)
npm ERR!     at Request._callback (/opt/node0610/lib/node_modules/npm/lib/utils/npm-registry-client/request.js:137:18)
npm ERR!     at Request.callback (/opt/node0610/lib/node_modules/npm/node_modules/request/main.js:109:22)
npm ERR!     at Request.<anonymous> (/opt/node0610/lib/node_modules/npm/node_modules/request/main.js:198:58)
npm ERR!     at Request.emit (events.js:88:20)
npm ERR!     at ClientRequest.<anonymous> (/opt/node0610/lib/node_modules/npm/node_modules/request/main.js:195:10)
npm ERR!     at ClientRequest.emit (events.js:67:17)
npm ERR!     at CleartextStream.<anonymous> (http.js:1134:11)
npm ERR!     at CleartextStream.emit (events.js:67:17)
npm ERR! You may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>
npm ERR! 
npm ERR! System Linux 2.6.18-194.el5
npm ERR! command "node" "/opt/node0610/bin/npm" "install" "socket.io"
npm ERR! cwd /opt/node0610/lib/node_modules
npm ERR! node -v v0.6.10
npm ERR! npm -v 1.1.0-3
npm ERR! message failed to fetch from registry: socket.io
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /opt/node0610/lib/node_modules/npm-debug.log
npm not ok

मेरा एनपीएम संस्करण है:

[applmgr@dev node_modules]$ npm --version
1.1.0-3

मेरा नोड्स संस्करण है:

[applmgr@dev node_modules]$ node --version
v0.6.10

12
यह एक बहुत पुराना npmसंस्करण है। इसे नवीनतम में अपडेट करें और फिर से प्रयास करें:sudo npm update npm -g
जॉनीएचके

1
आपकी टिप्पणी के लिए जॉनी धन्यवाद, वास्तव में अगर मुझे npm को अपडेट करने की आवश्यकता है, तो क्या मुझे भी नोडज को अपडेट करना चाहिए
डेक्सटर

1
आपको नोडज को भी अपडेट करने की आवश्यकता नहीं है, लेकिन मैं आपको सलाह दूंगा कि यदि आप किसी कारण से 6.x संस्करण से बंधे नहीं हैं।
जॉनीएचके 12

HTTP काम करता है; HTTPS नहीं करता है, क्योंकि HTTPS के लिए रजिस्ट्री.npmjs.org नहीं सुन रहा है।
मार्क

1
मैं आमतौर पर आधिकारिक साइट से नोडज के नवीनतम संस्करण को डाउनलोड और संकलित करता हूं । मेरे द्वारा उपयोग किए जाने वाले वितरण (आमतौर पर Ubuntu LTS) का बहुत पुराना संस्करण है।
एलेक्स लोकक

जवाबों:


805

मेरे पास npm v1.1.4(और node v0.6.12) के साथ यह मुद्दा था , जो Ubuntu 12.04रिपॉजिटरी संस्करण हैं।

ऐसा लगता है कि npmकिसी भी संस्करण का समर्थन नहीं किया गया है, नोड (और इसके साथ npm) को अपडेट करने से समस्या हल हो गई है।

सबसे पहले, पुराने संस्करण को अनइंस्टॉल करें (वैकल्पिक, लेकिन मुझे लगता है कि यह एक समस्या है जिसे मैं वैश्विक मॉड्यूल के साथ नहीं ले रहा था)।

sudo apt-get purge nodejs npm

फिर nodesource के रेपो को सक्षम करें और इंस्टॉल करें:

curl -sL https://deb.nodesource.com/setup | sudo bash -
sudo apt-get install -y nodejs

नोट - पिछली सलाह क्रिस ली के रेपो का उपयोग करना था, अब वह माइग्रेट हो गया है कि nodesource को देखें:

से: यहाँ


13
ध्यान दें कि नोडज पैकेज में एनपीएम और नोडज-देव शामिल हैं, इसलिए पीपा से नोडज स्थापित करने से आपको एनपीएम के लिए आवश्यक सब कुछ मिल जाता है।
चॉकिंसफ

2
धन्यवाद! यह मेरे लिए काम किया! यह "उबंटू पूछें" के लिए स्वीकृत उत्तर होगा, लेकिन ऐसा लगता है कि बहुत से गैर-उबंटू उपयोगकर्ता सहायक होने के लिए स्वीकृत उत्तर पाते हैं।
दिनमान

2
रास्पबेरी पाई पर इसे चलाया और नोडज या एनपीएम चलाने पर सेगमेंटेशन फॉल्ट मिला
Godzilla

5
रास्पबेरी पाई (Raspbian) पर इन निर्देशों का उपयोग और एक विभाजन गलती मिलने के बाद मैं बंदरगाह हटा दिया और इसके बाद इन निर्देशों का gist.github.com/justinjenkins/16adc15338bb265f6808 अब यह काम करता है!
जस्टिन जेनकिंस

2
-1 यह अनुशंसा करने के लिए कि अप्रशिक्षित नए लोग इंटरनेट पर एक असत्यापित स्रोत से पाइपिंग कोड के रूप में नासमझ और असुरक्षित के रूप में कुछ करते हैं । गैर-जिम्मेदार शायद ही इसे कवर करता है। यदि आपको चेकसम सत्यापित करने की अनुशंसा नहीं है, तो आपको कम से कम सुरक्षा के बारे में एक चेतावनी होनी चाहिए।
sorpigal

644

https://github.com/isaacs/npm/issues/2119

मुझे नीचे दी गई कमांड निष्पादित करनी थी:

npm config set registry http://registry.npmjs.org/

हालाँकि, यह npmअसुरक्षित HTTP कनेक्शन पर स्थापित संकुल बना देगा । यदि आप कर सकते हैं, तो आपको साथ रहना चाहिए

npm config set registry https://registry.npmjs.org/

इसके बजाय HTTPS पर स्थापित करने के लिए।


6
हाँ, यह भी मेरे लिए यह किया है। साझा करने के लिए धन्यवाद!
एलिक्स एक्सल

7
रास्पबेरी पाई का उपयोग करना, और यह वही कमांड है जिसका मुझे उपयोग करना था। रजिस्ट्री में बदल दिया है। pmpmjs.org/pi-gpio को रजिस्ट्री . npmjs.org/pi-gpio में बदल दिया है । यकीन नहीं है कि क्या
पीटी

28
चेतावनी: यह संसाधनों को एक / असुरक्षित / कनेक्शन पर खींचता है। आपकी फ़ाइलों को प्राप्त करने से पहले उन्हें बदला जा सकता है। दोबारा: यह सुरक्षित नहीं है।
लोदीविजक

38
इस असुरक्षित समाधान का उपयोग न करें, भले ही यह काम करे। Node.js का उपयुक्त-प्राप्त संस्करण बहुत पुराना है (0.6.12); मैंने GitHub से नवीनतम स्थिर संस्करण स्थापित किया और इसने समस्या को हल किया।
लुई एमलिन

2
यह कुछ अन्य नोडज संकुल के लिए काम नहीं करेगा। मैं केवल आधिकारिक साइट से नोड.जेएस के नए संस्करण को डाउनलोड कर रहा हूं और इसे हाथ से संकलित कर रहा हूं ।
एलेक्स लोकक

32

मैं उबंटू पर हूं। मैंने नोड स्थापित करने के लिए apt-get का उपयोग किया है। Npm उस पैकेज में शामिल नहीं था, इसलिए इसे अलग से स्थापित किया जाना था। मैंने मान लिया कि काम करेगा, लेकिन जाहिर तौर पर उबंटू वितरण में एनपीएम संस्करण पुराना था।

नोड विकी में यह निर्देश है:

नोड के हालिया संस्करण को प्राप्त करना या पुराने उबंटू और अन्य-आधारित वितरण पर स्थापित करना कुछ अतिरिक्त चरणों की आवश्यकता हो सकती है। उदाहरण स्थापित करें:

sudo apt-get update
sudo apt-get install -y 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 को पहले से ही शामिल किया गया था और पूरी तरह से काम किया था।


18

मेरे लिए, यह आमतौर पर एक प्रॉक्सी मुद्दा है, और मैं सब कुछ करने की कोशिश करता हूं:

npm config set registry http://registry.npmjs.org/
npm config set strict-ssl false

npm config set proxy http://myusername:mypassword@proxy.us.somecompany:8080
npm config set https-proxy http://myusername:mypassword@proxy.us.somecompany:8080
set HTTPS_PROXY=http://myusername:mypassword@proxy.us.somecompany:8080
set HTTP_PROXY=http://myusername:mypassword@proxy.us.somecompany:8080
export HTTPS_PROXY=http://myusername:mypassword@proxy.us.somecompany:8080
export HTTP_PROXY=http://myusername:mypassword@proxy.us.somecompany:8080
export http_proxy=http://myusername:mypassword@proxy.us.somecompany:8080

npm --proxy http://myusername:mypassword@proxy.us.somecompany:8080 \
--without-ssl --insecure -g install

4
npm config set strict-ssl falseमेरे लिए wroked का उपयोग करके सख्त एसएसएल को अक्षम करना।
मयूरा

17

काम करने के लिए ऐड-ऑप-रिपॉजिटरी के लिए आपको सॉफ्टवेयर-प्रॉपर्टीज-कॉमन को भी इंस्टॉल करना होगा। तो यह होगा

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

3
उपरोक्त चरणों के बाद, हम सभी को करने की जरूरत है: sudo npm install -g कर्म
vijay

10

एक चीज जो मेरे लिए यादृच्छिक npm स्थापित त्रुटियों के साथ काम करती है (जहां पैकेज जो त्रुटियां है वह अलग-अलग समय के तहत अलग है (लेकिन एक ही वातावरण) इसका उपयोग करना है:

npm cache clean

और फिर प्रक्रिया को दोहराएं। तब प्रक्रिया सुचारू रूप से चलती है और वास्तविक समस्या और त्रुटि संदेश सामने आएगा, जहां आप इसे ठीक कर सकते हैं और फिर आगे बढ़ सकते हैं।

यह एक डॉकर उदाहरण के अंदर एक बहुत ही नंगे उबंटू इंस्टॉलेशन के तहत संकुल के पूरे समूह की एनपीएम स्थापित करने के अनुभव पर आधारित है। कभी-कभी उबंटू से गायब / निर्मित उपकरण होते हैं और जब तक आप किसी कारण से कैश को साफ नहीं करते हैं तब तक एनपीएम त्रुटियां वास्तविक समस्या नहीं दिखाएंगी।


हां, मैंने पाया कि मुझे इसे चलाना था, इसके जवाब में।
जॉन पॉवेल

7

यह समस्या https प्रोटोकॉल के कारण है, यही वजह है कि अन्य समाधान काम करता है (गैर-सुरक्षित प्रोटोकॉल पर स्विच करके)।

मेरे लिए, सबसे अच्छा समाधान नोड के नवीनतम संस्करण को संकलित करना था, जिसमें एनपीएम शामिल है

apt-get purge nodejs npm
git clone https://github.com/nodejs/node ~/local/node
cd ~/local/node
./configure
make
make install

6

अब हर्षित (प्राथमिक नोडज बैकर) से आधिकारिक निर्देश हैं । उबंटू के लिए:

sudo apt-get purge nodejs npm
curl -sL https://deb.nodesource.com/setup | sudo bash -
sudo apt-get install -y nodejs

अन्य यूनिक्स वितरणों के लिए, ऑक्स और विंडोज़ लिंक देखते हैं। ध्यान दें कि यह नोड और एनपीएम दोनों को स्थापित करेगा।


5

केवल एक चीज जो मेरे लिए प्राथमिक ओएस लूना, एक उबंटू फोर्क पर काम करती थी। मैं x86 आर्किटेक्चर पर हूं। मैंने यहां सभी उत्तरों की कोशिश की, लेकिन अंत में इसे स्रोत से स्थापित करने का निर्णय लिया।

सबसे पहले, सुनिश्चित करें कि पैकेज मैनेजर का उपयोग करके इसकी स्थापना नहीं की गई है:

sudo apt-get purge nodejs npm -y

मैं नवीनतम स्रोत देखने और इसे डाउनलोड करने के लिए डाउनलोड पृष्ठ पर गया था, http://nodejs.org/download/ । इसे प्राप्त करने के लिए आप कर्ल, विग या अपने ब्राउज़र का उपयोग कर सकते हैं:

wget http://nodejs.org/dist/v0.10.34/node-v0.10.34.tar.gz
tar -xvf node-v0.10.34.tar.gz 
cd node-v0.10.34
./configure
make
sudo make install

मेक को थोड़ी देर लग सकती है। जब किया जाता है, तो आपको अपने / usr / स्थानीय / बिन निर्देशिका में नोड और एनपीएम स्थापित और काम करना चाहिए जो आपके रास्ते में पहले से ही होना चाहिए। आपको सत्यापित करना चाहिए कि वह कहाँ रहता है:

which npm node

मुझे इसे काम करने के लिए अनुमतियों को बदलना पड़ा:

sudo chown -R $USER /usr/local

यदि यह आपके काम की जाँच नहीं करता है:

echo $PATH

ध्यान दें कि इसे इस तरह से स्थापित करना, इसे apt-get package प्रबंधक द्वारा प्रबंधित नहीं किया जाएगा। चीयर्स!


कृपया इसे नीचे चिह्नित करने के बजाय समस्या को साझा करें। इससे मेरा काम बनता है! :)
राडटेक

2

नीचे दी गई विधि ने मेरे लिए, कुडोस को जीथब उपयोगकर्ता: मिडनाइटकोड्र के लिए काम किया

सुनिश्चित करें कि आप पहले से स्थापित किसी भी नोडज / npm संकुल को हटा दें।

sudo apt-get purge nodejs

sudo apt-get purge npm

अब नीचे दिए गए कमांड का उपयोग करके Node js स्थापित करें (जीथूब पर मिडनाइटक्रोड के लिए धन्यवाद)

curl -L https://raw.github.com/midnightcodr/rpi_node_install/master/setup.sh | bash -s 0.10.24

ध्यान दें कि आप नोड को कमांड नोड के साथ आमंत्रित कर सकते हैं और नोडज को नहीं।

एक बार नोड स्थापित होने के बाद, एनपीएम स्थापित करें

sudo apt-get install npm

2

हाल ही में मुझे नोड के उन्नयन के बाद यह समस्या हुई थी (और अनिवार्य रूप से npm) को नवीनतम संस्करण में अपग्रेड करने के लिए:

> npm --version < 2.0.0-alpha-5

नोट: मैंने एक अस्थिर संस्करण के लिए नहीं पूछा , मुझे बस brew install npmOSX के बाद मिला ।

डाउनग्रेडिंग एनपीएम ने मेरे लिए समस्या तय कर दी।

स्थिर एनपीएम को स्थापित करने का सबसे आसान तरीका है, npm install -g npmलेकिन यह कुछ परिस्थितियों में काम नहीं कर सकता है और नोड की गिरावट के कारण हो सकता है।


1

यह हो सकता है कि उस समय npm रजिस्ट्री डाउन थी या आपका कनेक्शन गिरा था।

किसी भी तरह से आपको नोड और एनपीएम को अपग्रेड करना चाहिए।

मैं आपके नोड वातावरण का प्रबंधन करने के लिए nave का उपयोग करने की सलाह दूंगा

https://npmjs.org/package/nave

यह आपको आसानी से संस्करण स्थापित करने और जल्दी से उनके बीच कूदने की अनुमति देता है।


1

रास्पबेरी पाई के लिए मैंने पाया और एक समाधान को संशोधित किया जो मैंने
यहां पाया कि मैं क्या कर रहा हूं

sudo su -
cd /opt
wget http://nodejs.org/dist/v0.10.28/node-v0.10.28-linux-arm-pi.tar.gz
tar xvzf node-v0.10.28-linux-arm-pi.tar.gz
ln -s node-v0.10.28-linux-arm-pi node
chmod a+rw /opt/node/lib/node_modules
chmod a+rw /opt/node/bin
echo 'PATH=$PATH:/opt/node/bin' > /etc/profile.d/node.sh

एकमात्र मॉड मैंने किया था जो सभी 10.25 से 10.28 तक बदल गया था जो उस समय का नवीनतम लिनक्स-आर्म-पी था


0

@ वहाँ का जवाब सबसे अच्छा एक है। हालाँकि, नोड संस्करण कभी ऊपर और ऊपर की ओर बढ़े हैं, और संस्करण io.js. की पुनरावृत्ति द्वारा जटिल था उसके उत्तर के चरणों का पालन करते हुए, आप नोड संस्करण के साथ समाप्त हो जाएंगे0.10.25 - सबसे हालिया संस्करण नहीं।

आपको अभी भी किसी भी मौजूदा नोड / npm पैकेज को शुद्ध करना चाहिए

sudo apt-get purge nodejs npm

और फिर जाकर https://github.com/nodesource/distributions#debinstall पर nodesource डिब इंस्टॉल पेज देखें

सभी Node.js संस्करण उपर्युक्त पृष्ठ पर लिनक्स कमांड के साथ सूचीबद्ध हैं, उन्हें स्थापित करने के लिए। और ये पैकेज डेबियन और उबंटू दोनों पर काम करेंगे ।

PS यदि आप उबंटू सटीक या डेबियन व्हीज़ी पर नोड v4.4 या उच्चतर चलाना चाहते हैं, तो आपको पुराने डिस्ट्रो पर चलने की जानकारी की समीक्षा करनी चाहिए ।

PPS यदि आपकी योग्यता विफल हो रही है , तो स्क्रिप्ट पूरी नहीं होगी (Google संदर्भ मेरे असफल हो रहे थे apt-get update)। आपको अपने कीरिंग में जोड़े जा रहे NodeSource हस्ताक्षर कुंजी के बारे में संदेश देखना चाहिए और एक अंतिम संदेश आपको निर्देश देना चाहिए Run 'apt-get install nodejs' to install Node.js

PPPS npm नोड के साथ स्थापित किया गया है। एक बार स्थापित होने के बाद, आप नवीनतम npm के साथ अपडेट कर सकते हैंsudo npm install npm -g

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.