355 votes

recevez message d’erreur : ' erreur : erreur SSL : SELF_SIGNED_CERT_IN_CHAIN ' lors de l’utilisation du Musée

Je suis à l'aide de gnp v1.0.104/node 0.6.12 sur ubuntu - je reçois l'erreur de copié ci-dessous lors de la tentative d'installation de nouveaux modules via npm (j'ai testé la prise.io plus tôt à l'aide de http et non https si je me demande si cela pourrait avoir entraîné la question avec npm/unsigned cert). L'erreur s'affiche une fois que mnp essaie de résoudre le 'https://registry.npmjs.org' URL. Est-il de toute façon je ne peut ignorer l'erreur, ou peut-être de localiser/ajouter le cert à une banque approuvée pour continuer à l'utiliser npm.

Toute réflexion sur ce qui doit être fait pour résoudre le problème sera apprécié (je préfère pour résoudre la question par le biais de la configuration, par opposition à une ré-installation si possible).

Erreur: "Erreur: Erreur SSL: SELF_SIGNED_CERT_IN_CHAIN"

Message Complet:

npm ERR! Error: SSL Error: SELF_SIGNED_CERT_IN_CHAIN
npm ERR!     at ClientRequest.<anonymous> (/usr/lib/node_modules/npm/node_modules/request/main.js:252:28)
npm ERR!     at ClientRequest.emit (events.js:67:17)
npm ERR!     at HTTPParser.onIncoming (http.js:1261:11)
npm ERR!     at HTTPParser.onHeadersComplete (http.js:102:31)
npm ERR!     at CleartextStream.ondata (http.js:1150:24)
npm ERR!     at CleartextStream._push (tls.js:375:27)
npm ERR!     at SecurePair.cycle (tls.js:734:20)
npm ERR!     at EncryptedStream.write (tls.js:130:13)
npm ERR!     at Socket.ondata (stream.js:38:26)
npm ERR!     at Socket.emit (events.js:67:17)
npm ERR! Report this *entire* log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>
npm ERR! 
npm ERR! System Linux 2.6.38-13-generic
npm ERR! command "node" "/usr/bin/npm" "install" "jed"
npm ERR! node -v v0.6.12
npm ERR! npm -v 1.0.104

481voto

ali haider Points 5573

L’exécution de ce qui suit a aidé à résoudre le problème :

Je ne peux pas commenter si il fera d’autres problèmes en ce moment. Elle pourra être qu'utile.

230voto

Kevin Reilly Points 1728

À partir du 27 février, 2014, la ngp ne prend plus en charge ses certificats auto-signés. Les options suivantes, tel que recommandé par la ngp, c'est de faire un des éléments suivants:

Mettez à niveau votre version de la ngp

npm install npm -g --ca=""

-- OU --

Dites à votre version actuelle de la ngp à utiliser des bureaux d'enregistrement

npm config set ca ""

Mise à jour: mnp a publié Plus d'aide avec SELF_SIGNED_CERT_IN_CHAIN et npm avec plus de solutions spécifiques aux différents environnements



Vous pouvez ou ne pouvez pas besoin d'ajouter le préfixe sudo pour les recommandations.


D'autres options

Il semble que les gens sont d'avoir des problèmes à l'aide des mnp recommandations, voici donc d'autres solutions possibles.

Mise à niveau du Nœud lui-même
La réception de cette erreur peut suggérer que vous avez une ancienne version de nœud, qui, naturellement, est livré avec une version plus ancienne de la ngp. Une solution est de mettre à niveau votre version de Nœud. C'est probablement la meilleure option, car il vous amène à jour et des corrections de bugs existants et les vulnérabilités.

Le processus dépend de comment vous avez Noeud installé, votre système d'exploitation, et de l'autre.

Mise à jour de la ngp
Être que vous avez probablement ici, tout en essayant d' install d'un paquet, il est possible qu' npm install npm -g peut échouer avec le même message d'erreur. Si c'est le cas, utilisez update à la place. Comme suggéré par Nisanth Sojan:

npm update npm -g

Mise à jour de mnp alternative
Une façon de résoudre le problème sous-jacent est d'utiliser des bureaux d'enregistrement, l'installer, puis cesser d'utiliser connue des bureaux d'enregistrement. Comme suggéré par jnylen:

npm config set ca ""
npm install npm -g
npm config delete ca

80voto

Hermann Points 525

Pour l’instant j’ai juste changé de Registre URL de https pour http. Comme ça :

32voto

jnylen Points 4405

Vous devez mettre à niveau la NGP.

Vous devrez peut-être ces commandes avec le préfixe `` .

Source : http://blog.npmjs.org/post/78085451721/npms-self-signed-certificate-is-no-more

8voto

Redsandro Points 1616

Le référentiel ne prend plus en charge les certificats auto-signés. Vous devez mettre à jour npm.

// Disable the certificate temporarily in order to do the upgrade
npm config set ca ""

// Upgrade npm. -g (global) means you need root permissions; be root 
// or prepend `sudo`
sudo npm install npm -g

// Undo the previous config change
npm config delete ca

// For Ubuntu/Debian-sid/Mint, node package is renamed to nodejs which 
// npm cannot find. Fix this:
sudo ln -s /usr/bin/nodejs /usr/bin/node

Vous devez ouvrir une nouvelle session de terminal pour utiliser la mise à jour de npm.

Source: C'était à l'origine une modification sur jnylen's réponse. Bien que les lignes directrices de dire "nous Nous félicitons de toutes les modifications constructives, mais s'il vous plaît faire beaucoup d'," le montage a été rejetée en raison de "Cette modification change trop dans le post original; le sens ou l'intention de la poste serait perdu." Je suppose que la communauté préfère une réponse distincte.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X