J'essaie d'installer Phonegap dans Ubuntu. L'installation de NodeJS a réussi, mais je ne peux pas installer Phonegap lui-même. Voici la sortie d'erreur du terminal:
test@test-VirtualBox:~$ 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
Toute aide serait appréciée.
J'ai eu la même erreur, étant donné que j'étais derrière un pare-feu/proxy d'entreprise et que le certificat du proxy a été transmis à ma connexion.
Dans votre ligne de commande, exécutez:
npm config set strict-ssl false
REMARQUE: il n’est pas recommandé d’accepter aveuglément des certificats SSL non fiables ou non valides, comme le fait la commande (désactiver la vérification du certificat). Tu peux courir
npm config set strict-ssl true
pour le rallumer.
Cela peut être corrigé sans désactiver le SSL strict, mais ce n'est pas trivial.
Trouvez les certificats effectivement utilisés, probablement derrière un proxy d’interception SSL . Vous pourrez peut-être utiliser un navigateur, un outil CLI, etc. J'ai fini par exécuter certmgr.msc
sous Windows lorsque les certificats sont distribués via la stratégie de groupe et exportés sous forme de fichiers p7b.
Convertissez les certificats si nécessaire, j'ai utilisé l'outil openssl pour convertir de p7b en PEM (aka .crt)
openssl pkcs7 -print_certs -inform DER -in /mnt/adam/certs/my-company-root.p7b -outform PEM -out my-company-root.crt
Fusionnez , s'il y a plus d'un certificat, dans un seul fichier PEM, en prenant soin de passer l'ordre de la feuille à la racine.
cat my-company-leaf.crt my-company-intermediate.crt my-company-root.crt > my-company-single.crt
Configurez npm dans le fichier de certificat
npm config set cafile my-company-single.crt
(ou globalement)
Sudo npm config set -g cafile my-company-single.crt
fonctionnement
npm config set strict-ssl false
résolu mon problème.
J'utilise Vagrant (Linux precise32 Ubuntu) et Windows 7 en tant qu'hôte.
Merci