Подтвердить что ты не робот

Nodejs "npm ERR! code SELF_SIGNED_CERT_IN_CHAIN"

Я новичок в nodejs и npm. Я пытаюсь установить log4js, и это команда для установки:

npm install log4js

Я запускаю это из командной строки Windows, и через некоторое время после поворота маркера я получаю следующую ошибку:

npm ERR! Windows_NT 6.3.9600
npm ERR! argv "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "log4js"
npm ERR! node v0.12.0
npm ERR! npm  v2.5.1
npm ERR! code SELF_SIGNED_CERT_IN_CHAIN

npm ERR! self signed certificate in certificate chain
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <http://github.com/npm/npm/issues>

npm ERR! Please include the following file with any support request:
npm ERR!     C:\srv\npm-debug.log

Я пробовал делать npm config set ca="", как предлагалось здесь: http://blog.npmjs.org/post/78085451721/npms-self-signed-certificate-is-no-more, но я все еще получаю эту ошибку.

Как я могу решить эту проблему и установить NPM?

4b9b3361

Ответ 1

Используйте следующую команду, чтобы отключить строгий режим ssl, и вы не получите сообщение об ошибке:

npm set strict-ssl false

Ответ 2

У меня была такая же проблема на Windows 10.

Откройте Windows PowerShell и введите следующую команду:

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

Тогда вы можете использовать:

npm install [your package]

Ответ 3

Я новичок в нпм. Помимо команд, упомянутых в вашей ссылке, я попробовал следующее и решил мои проблемы:

  • npm set strict-ssl false
  • временно отключен McAfee

Ссылка: Npm SELF_SIGNED_CERT_IN_CHAIN ​​на Azure

Ответ 5

Вы также пробовали настройки cafile, вмещающие все pems в одном файле? npm добавить корневой CA

Если вы используете прокси в своем файле .npmrc, я предлагаю установить переменную среды no_proxy со значением вашего <server IP address>

Ответ 7

Хотя установка StrictSsl в false является опцией, она ставит под угрозу вашу безопасность npm. Я рекомендую не отключать его. Следующие инструкции уточняют, как использовать Шредхар для использования кафе. Хотя он написан с точки зрения машины Windows 10, его можно адаптировать.

Наша компания использует SSL Inpsection через прокси-сервер, поэтому по крайней мере нам необходимо включить сертификат SSL Inspection. В следующих инструкциях предполагается, что вы можете использовать современный веб-браузер на компьютере, на котором вы пытаетесь использовать внешнюю функцию npm.

  1. В командной консоли выполните следующее: npm config list
  2. Запишите значение для метрики-реестра. Это должен быть URL.
  3. Откройте браузер по URL. На момент написания этого ответа это https://registry.npmjs.org/
  4. Откройте информацию о сертификате для сайта. Для Chrome в Windows это включает нажатие на значок замка слева от URL-адреса в адресной строке и выбор параметра "Сертификат".
  5. Проверьте путь сертификации. Для меня есть наш корпоративный центр сертификации и сертификат SSL Inspection.
  6. Загрузите каждый сертификат в виде Base64, закодированного в файл .cer или .crt.
  7. Скомпилируйте все сертификаты как есть в один файл .cer или .crt.
  8. Поместите этот файл в папку пользователя. Хотя у нас есть сетевая папка пользователей, я рекомендую использовать локальную папку. Обратите внимание на полный путь к этому файлу.
  9. В командной консоли выполните следующее: npm config set cafile "C:\Local\Path\To\cafile4npm.cer" измените путь и файл, указанные в шаге 8.
  10. Запустите команду npm install.

Ответ 8

В CentOS и других дистрибутивах Linux вам необходимо настроить NPM для использования вашего файла центров сертификации:

npm config set cafile "/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem" -g

Очевидно, проверьте, что файл существует и содержит все корни CA, с которыми вы можете столкнуться (например, корпоративный прокси-сервер).

Ответ 9

Конфиг npm установлен строгий-ssl false, у меня работает, чтобы исправить ошибку