SSL त्रुटि: Npm कमांड का उपयोग करते समय CERT_UNTRUSTED


159

मैं npm कमांड का उपयोग करके एक्सप्रेस फ्रेमवर्क स्थापित करने की कोशिश कर रहा हूं, लेकिन निम्न त्रुटि हो रही है।

त्रुटि संदेश है

E:\myFindings\nodejs_programs\node>npm install -g express
npm http GET https://registry.npmjs.org/express
npm ERR! Error: SSL Error: CERT_UNTRUSTED
npm ERR!     at ClientRequest.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\request\main.js:409:26)
npm ERR!     at ClientRequest.g (events.js:185:14)
npm ERR!     at ClientRequest.EventEmitter.emit (events.js:88:17)
npm ERR!     at HTTPParser.parserOnIncomingClient [as onIncoming] (http.js:1445:7)
npm ERR!     at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:111:23)
npm ERR!     at CleartextStream.socketOnData [as ondata] (http.js:1356:20)
npm ERR!     at CleartextStream.CryptoStream._push (tls.js:396:27)
npm ERR!     at SecurePair.cycle (tls.js:751:20)
npm ERR!     at EncryptedStream.CryptoStream.write (tls.js:131:13)
npm ERR!     at Socket.ondata (stream.js:38:26)
npm ERR!  [Error: SSL Error: CERT_UNTRUSTED]
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! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "express"
npm ERR! cwd E:\myFindings\nodejs_programs\node
npm ERR! node -v v0.8.0
npm ERR! npm -v 1.1.32
npm ERR! message SSL Error: CERT_UNTRUSTED
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     E:\myFindings\nodejs_programs\node\npm-debug.log
npm ERR! not ok code 0

मेरी मदद करो

जवाबों:


316

आप नीचे दिए गए आदेशों का उपयोग करके https को बायपास कर सकते हैं:

npm config set strict-ssl false

या नीचे की तरह https या http से रजिस्ट्री URL सेट करें:

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

हालाँकि, व्यक्तिगत रूप से मेरा मानना ​​है कि https को दरकिनार करना वास्तविक समाधान नहीं है, लेकिन हम इसे वर्कअराउंड के रूप में उपयोग कर सकते हैं।


13
थोड़ा असुरक्षित, लेकिन अच्छा वास्तविक दुनिया समाधान।
बर्नार्ड सॉसर

1
क्या यह संभव है कि एक बार जब हम कमांड के ऊपर इस्तेमाल करते हैं तो बायपास विकल्प को हटा दें। यदि हाँ, तो हम बायपास विकल्प को कैसे हटा सकते हैं?
rash111

1
@ rash111 मेरा मानना ​​है कि इसे सच करने के लिए काम करना चाहिए:npm config set strict-ssl true
ग्रोमर

10
"अच्छा वास्तविक विश्व समाधान" ... यह बिल्कुल भी अच्छा नहीं है, जब तक कि आपको हैक किया जाना पसंद नहीं है।
trusktr

धन्यवाद! एक VirtualBox VM में Ubuntu 14.04 रनिंग में npm का उपयोग करते समय यह भी आवश्यक है। यह CERT त्रुटि को ठीक करने का एकमात्र तरीका है, यह तब भी आता है जब रजिस्ट्री को कॉन्फ़िगर किया जाता है "http://registry.npmjs.org/"जो डिफ़ॉल्ट है।
प्रहलाद यारी

53
npm ERR! node -v v0.8.0
npm ERR! npm -v 1.1.32

अपना नोड अपडेट करें। js स्थापना। निम्नलिखित कमांड इसे ( यहाँ से ) करना चाहिए :

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

संपादित करें: ठीक है, यदि आपके पास वास्तव में सॉफ़्टवेयर के प्राचीन संस्करण को चलाने का एक अच्छा कारण है, npm set ca nullतो समस्या को ठीक कर देगा। ऐसा हुआ, क्योंकि अंतर्निहित एनपीएम प्रमाणपत्र वर्षों में समाप्त हो गया है।


3
मैं वर्तमान में दो संस्करण से ऊपर का उपयोग कर रहा हूं, आपकी बात क्या है, मैं समझ नहीं सका
सुदीप

1
मेरा कहना है: वे संस्करण प्राचीन हैं, और उन सभी में निर्मित एनपीएम प्रमाणपत्र पहले ही समाप्त हो चुके हैं। यदि आप हाल के संस्करण स्थापित करते हैं, तो वे काम करेंगे।
एलेक्स

1
मैंने नवीनतम संस्करण को स्थापित करने की कोशिश की और स्थापना के दौरान कुछ समस्या आई। एसओ में किसी ने मुझे उपरोक्त संस्करण को स्थापित करने का सुझाव दिया था, इसे ठीक से स्थापित किया गया था, लेकिन अब एनपीएम काम नहीं कर रहा है। मैं आपको अपने पिछले प्रश्न stackoverflow.com/questions/21850871/…
सुदीप at

24
मैंने पाया है कि चल रहा है sudo npm cache clean -fतो sudo npm install -g nदूसरा आदेश के बाद एक CERT_UNTRUSTED त्रुटि देता है।
फ़ूजी

2
संदर्भित लिंक के अनुसार: "नोड को अपग्रेड करने का यह तरीका अब अस्थिर नहीं है और इसका उपयोग नहीं किया जाना चाहिए। Node.js संस्करणों को प्रबंधित करने का सबसे अच्छा तरीका NVM: नोड संस्करण प्रबंधन का उपयोग करना है !"
चुस

22

मुझे एक ही समस्या थी और आखिरकार मैं समझ गया कि मेरा नोड संस्करण पुराना है। उदाहरण के लिए, आप निम्न चरणों में Ubuntu में वर्तमान सक्रिय LTS नोड संस्करण स्थापित कर सकते हैं:

sudo apt-get update
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install nodejs -y

अधिक लिंक और सिस्टम के लिए इंस्टॉलेशन निर्देश निम्न लिंक में पाए जा सकते हैं:

https://github.com/nodesource/distributions/blob/master/README.md


उबंटू 14. पर काम किया
विग्नेश चिन्नैयन

9

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


5

यदि आप एक कॉर्पोरेट प्रॉक्सी के पीछे हैं, तो अपनी कंपनी के प्रॉक्सी के साथ npm के लिए यह सेटिंग आज़माएँ:

npm --https-proxy=http://proxy.company.com install express -g

3
यदि आप किसी बड़े संगठन में काम करते हैं तो आपके और इंटरनेट के बीच प्रॉक्सी सर्वर होना आम बात है। कभी-कभी यह इस समस्या का कारण बनता है। (यह मेरे लिए था) इसके लिए एक संभावित परीक्षण कंप्यूटर को नेटवर्क से दूर करने और घर से एनपीएम इंस्टॉल एक्सप्रेस को लेने के लिए होगा।
माइकल ओकले

2

चूँकि मैं गूगल के माध्यम से पोस्ट पर ठोकर खाई:

npm ciयह प्रयोग करने की कोशिश एक से अधिक हो जाएगा npm install

मैनुअल से:

संक्षेप में, npm स्थापित और npm ci का उपयोग करने के बीच मुख्य अंतर हैं:

  • परियोजना में एक मौजूदा पैकेज-लॉक.जॉन या एनपीएम-सिक्योरव्रेप.जॉन होना चाहिए।
  • अगर पैकेज लॉक में निर्भरता पैकेज में उन लोगों से मेल नहीं खाती है। पैकेज लॉक को अपडेट करने के बजाय, npm ci एक त्रुटि के साथ बाहर निकल जाएगा।
  • npm ci एक समय में केवल संपूर्ण प्रोजेक्ट स्थापित कर सकता है: इस कमांड के साथ व्यक्तिगत निर्भरताएं नहीं जोड़ी जा सकती हैं।
  • यदि एक नोड_मॉड्यूल पहले से मौजूद है, तो npm ci के स्थापित होने से पहले यह स्वचालित रूप से हटा दिया जाएगा।
  • यह कभी भी package.json या किसी भी पैकेज-लॉक को नहीं लिखेगा: इंस्टॉल अनिवार्य रूप से जमे हुए हैं।

1

नोड को पुनर्स्थापित करें, फिर npm अपडेट करें।

पहले मैंने नोड निकाल दिया

apt-get purge node

फिर डिस्टिब्यूशन के अनुसार नोड इंस्टॉल करें। यहां डॉक्स ।

फिर

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