npm · npm
Le message
npm ERR! request to https://registry.npmjs.org/express failed, reason: unable to verify the first certificate
Ce que cela veut dire
La connexion TLS a échoué : la chaîne de certificats présentée par le serveur remonte à une autorité en laquelle node n'a pas confiance. Dans l'immense majorité des cas, c'est un réseau d'entreprise dont le proxy ouvre le trafic et le resigne avec son propre certificat ; parfois, c'est un serveur qui n'a pas envoyé son certificat intermédiaire. Apprendre à npm la racine de votre entreprise avec npm config set cafile est le correctif juste. strict-ssl false fait aussi disparaître cette ligne, mais désactive totalement la vérification des certificats, ce qui permet à quiconque sur le chemin de vous servir des paquets modifiés : ne l'utilisez pas.
Le correctif
npm config set cafile /etc/ssl/corp-ca.pem- Émis par
- npm
- npm
- 20
Avec npm, la cause tient dans la première ligne code XXXX et non dans les six dernières lignes npm ERR!, et quand la panne vient de l'arbre de dépendances ou d'une compilation native plutôt que de votre code, supprimer node_modules puis réinstaller en règle environ la moitié.
Lire un message d’erreur
- Lisez à partir de la première ligne. Plus on descend, plus il s’agit des entrailles de l’outil ; la cause est généralement en haut.
- S’il y a un fichier et un numéro de ligne, commencez là — pas la première image de la pile, mais la ligne la plus haute qui nomme un fichier de vous.
- Cherchez le message tel quel, mais retirez d’abord vos chemins et vos noms de variables : c’est cela qui empêche la correspondance.
- La même situation se formule autrement selon la version de l’outil. Si les résultats sonnent faux, ajoutez le numéro de version.
- Avant de coller un correctif, vérifiez ce qu’il jette. Certains sont irréversibles.
Questions fréquentes
Q. Que veut dire « npm ERR! request to https://registry.npmjs.org/express failed, reason: unable to verify the first certificate » ?
La connexion TLS a échoué : la chaîne de certificats présentée par le serveur remonte à une autorité en laquelle node n'a pas confiance. Dans l'immense majorité des cas, c'est un réseau d'entreprise dont le proxy ouvre le trafic et le resigne avec son propre certificat ; parfois, c'est un serveur qui n'a pas envoyé son certificat intermédiaire. Apprendre à npm la racine de votre entreprise avec npm config set cafile est le correctif juste. strict-ssl false fait aussi disparaître cette ligne, mais désactive totalement la vérification des certificats, ce qui permet à quiconque sur le chemin de vous servir des paquets modifiés : ne l'utilisez pas.
Q. Comment le corriger ?
npm config set cafile /etc/ssl/corp-ca.pem — avant de le lancer, vérifiez plus haut ce que cette commande jette.
Q. Quel outil émet cela ?
npm. Cela relève de npm, et le message compte 13 mots.