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

Ошибка: UNABLE_TO_VERIFY_LEAF_SIGNATURE Установка Phonegap

Я пытаюсь установить Phonegap в Ubuntu. Установка NodeJS прошла успешно, однако я не могу установить Phonegap. Вот вывод ошибки терминала:

[email protected]:~$ sudo npm install -g phonegap
npm http GET https://registry.npmjs.org/phonegap
npm http GET https://registry.npmjs.org/phonegap
npm http GET https://registry.npmjs.org/phonegap
npm ERR! Error: UNABLE_TO_VERIFY_LEAF_SIGNATURE
npm ERR!     at SecurePair.<anonymous> (tls.js:1350:32)
npm ERR!     at SecurePair.EventEmitter.emit (events.js:92:17)
npm ERR!     at SecurePair.maybeInitFinished (tls.js:963:10)
npm ERR!     at CleartextStream.read [as _read] (tls.js:463:15)
npm ERR!     at CleartextStream.Readable.read (_stream_readable.js:320:10)
npm ERR!     at EncryptedStream.write [as _write] (tls.js:366:25)
npm ERR!     at doWrite (_stream_writable.js:219:10)
npm ERR!     at writeOrBuffer (_stream_writable.js:209:5)
npm ERR!     at EncryptedStream.Writable.write (_stream_writable.js:180:11)
npm ERR!     at write (_stream_readable.js:573:24)
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://bugs.debian.org/npm>
npm ERR! or use
npm ERR!     reportbug --attach /home/test/npm-debug.log npm

npm ERR! System Linux 3.11.0-14-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "phonegap"
npm ERR! cwd /home/test
npm ERR! node -v v0.10.15
npm ERR! npm -v 1.2.18
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /home/test/npm-debug.log
npm ERR! not ok code 0

Любая помощь будет оценена.

4b9b3361

Ответ 1

Я получил ту же ошибку, учитывая, что я был за корпоративным брандмауэром/прокси, и мое соединение было передано сертификатом прокси.

В командной строке выполните:

npm config set strict-ssl false

ПРИМЕЧАНИЕ. Это не лучшая практика слепо принимать ненадежные или недействительные SSL-сертификаты, что и делает команда (отключите проверку сертификатов). Вы можете запустить

npm config set strict-ssl true

чтобы включить его.

ref: https://thomashunter.name/blog/npm-ssl-errors/

Ответ 2

Это можно исправить, не отключая строгий SSL, но это нетривиально.

Найти используемые сертификаты, вероятно, вы за корпоративным прокси-сервером перехвата SSL. Возможно, вы сможете использовать браузер, какой-то инструмент CLI и т.д. Я закончил работу с certmgr.msc в Windows, так как сертификаты распространяются по групповой политике и экспортируются как файлы p7b.

Преобразовать сертификаты при необходимости, я использовал инструмент openssl для преобразования из p7b в PEM (aka.crt)

openssl pkcs7 -print_certs -inform DER -in /mnt/adam/certs/my-company-root.p7b -outform PEM -out my-company-root.crt

Объединить, если имеется более одного сертификата, в один файл PEM, чтобы сделать заказ от листа к корню.

cat my-company-leaf.crt my-company-intermediate.crt my-company-root.crt > my-company-single.crt

Настроить npm в файле сертификата

npm config set cafile my-company-single.crt

(или глобально)

sudo npm config set -g cafile my-company-single.crt

Ответ 3

работает

npm config set strict-ssl false

решил мою проблему.

Я использую Vagrant (Linux exact32 Ubuntu) и Windows 7 как хост.

Спасибо

Ответ 4

работает

npm config set strict-ssl false

работал у меня. Решила мою проблему....