Ошибка SSL: сертификат ненадежен при использовании команды npm
Я пытаюсь установить express framework с помощью команды npm, но получаю следующую ошибку.
сообщение об ошибке
E:myFindingsnodejs_programsnode>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 Filesnodejsnode_modulesnpmnode_modulesrequestmain.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! <[email protected]>
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:Program Filesnodejs
ode.exe" "C:Program Filesnodejsnode_modulesnpmbinnpm-cli.js" "install" "-g" "express"
npm ERR! cwd E:myFindingsnodejs_programsnode
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:myFindingsnodejs_programsnodenpm-debug.log
npm ERR! not ok code 0
помогите мне разобраться
5 ответов:
вы можете обойти https, используя следующие команды:
npm config set strict-ssl falseили установите URL реестра из https или http, как показано ниже:
npm config set registry="http://registry.npmjs.org/"однако лично я считаю, что обход https не является реальным решением, но мы можем использовать его в качестве обходного пути.
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
Edit: хорошо, если вы действительно есть веская причина, чтобы запустить древнюю версию программного обеспечения,
npm set ca nullисправит проблему. Это произошло, потому что встроенный сертификат npm истек за эти годы.
Я думаю, что я получил причиной ошибки. Это корпоративный прокси-сервер(виртуальная частная сеть) для работы в клиентской сети. Без этого соединения я часто сталкивался с той же проблемой, будь то Maven build или npm install.
Если вы находитесь за корпоративным прокси, попробуйте этот параметр для npm с прокси вашей компании:
npm --https-proxy=http://proxy.company.com install express -g
Так как я наткнулся на сообщение через google:
попробуйте использовать
npm ciЭто будет гораздо больше, чемnpm install.из руководства:
короче говоря, основные различия между использованием npm install и npm ci:
- проект должен иметь существующую блокировку пакета.json или npm-shrinkwrap.формат JSON.
- если зависимости в блокировке пакета не совпадают с зависимостями в пакете.в JSON, ИЦ НПМ будет завершаться с ошибкой, вместо обновление блокировки пакета.
- npm ci может устанавливать только целые проекты одновременно: отдельные зависимости не могут быть добавлены с помощью этой команды.
- если node_modules уже присутствует, он будет автоматически удален до начала установки npm ci.
- он никогда не будет писать на упаковке.json или любой из пакетов-блокировок: установки по существу заморожены.
Comments