web-dev-qa-db-fra.com

Erreur SSL: CERT_UNTRUSTED lors de l'utilisation de la commande npm

J'essaie d'installer Express Framework à l'aide de la commande npm mais j'obtiens l'erreur suivante.

le message d'erreur est

E:\myFindings\nodejs_programs\node>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 Files\nodejs\node_modules\npm\node_modules\request\main.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 Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "express"
npm ERR! cwd E:\myFindings\nodejs_programs\node
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:\myFindings\nodejs_programs\node\npm-debug.log
npm ERR! not ok code 0

aidez-moi à régler

140
Sudip7

Je pense avoir la raison de l'erreur ci-dessus. C'est le proxy d'entreprise (réseau privé virtuel) fourni afin de fonctionner sur le réseau client. Sans cette connexion, je rencontrais souvent le même problème, que ce soit maven build ou npm install.

9
Sudip7

Vous pouvez contourner https en utilisant les commandes ci-dessous:

npm config set strict-ssl false

ou définissez l'URL de registre à partir de https ou http comme ci-dessous:

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

Cependant, personnellement, je pense que contourner https n'est pas la vraie solution, mais nous pouvons l'utiliser comme solution de contournement.

275
ramesh.mimit
npm ERR! node -v v0.8.0
npm ERR! npm -v 1.1.32

Mettez à jour votre installation node.js. Les commandes suivantes doivent le faire (à partir de here ):

Sudo npm cache clean -f
Sudo npm install -g n
Sudo n stable

Edit: ok, si vous avez vraiment une bonne raison d’exécuter une version ancienne du logiciel, npm set ca null résoudra le problème. C'est arrivé, car le certificat npm intégré a expiré au fil des ans.

45
alex

J'ai eu le même problème et j'ai finalement compris que la version de mon nœud est ancienne. Par exemple, vous pouvez installer la version actuelle du nœud LTS actif dans Ubuntu en procédant comme suit:

Sudo apt-get update
curl -sL https://deb.nodesource.com/setup_10.x | Sudo -E bash -
Sudo apt-get install nodejs -y

Les instructions d'installation pour plusieurs versions et systèmes sont disponibles dans le lien suivant:

https://github.com/nodesource/distributions/blob/master/README.md

16
majran

Si vous êtes derrière un proxy d'entreprise, essayez ce paramètre pour npm avec le proxy de votre société:

npm --https-proxy=http://proxy.company.com install express -g
5
Michael Oakley

Depuis que je suis tombé sur le post via google:

Essayez d’utiliser npm ci ce sera beaucoup plus que npm install.

Du manuel:

En bref, les principales différences entre npm install et npm ci sont les suivantes:

  • Le projet doit avoir un package-lock.json ou un npm-shrinkwrap.json existant.
  • Si les dépendances dans le verrou de package ne correspondent pas à celles de package.json, npm ci se fermera avec une erreur au lieu de mettre à jour le verrou de package.
  • npm ci ne peut installer que des projets entiers à la fois: des dépendances individuelles ne peuvent pas être ajoutées avec cette commande.
  • Si un node_modules est déjà présent, il sera automatiquement supprimé avant que npm ci ne commence son installation.
  • Il n'écrira jamais dans package.json ni dans aucun des verrous de paquet: les installations sont essentiellement gelées.
2
HerrWalter