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
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.
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.
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.
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
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
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.