Accueil·Messages d’erreur

node · npm

Le message

Error: Cannot find module 'express'

Ce que cela veut dire

node n'a pu résoudre ce nom vers aucun fichier : il n'est pas dans node_modules, ou vous avez lancé depuis un répertoire sans node_modules. Cela arrive quand vous n'avez jamais installé, quand une installation a échoué à mi-chemin en laissant un arbre partiel, ou quand le paquet est en devDependencies et que vous avez installé avec --omit=dev. rm -rf node_modules && npm install reconstruit l'arbre depuis le lockfile ; c'est sans danger, rien n'est perdu et le seul coût est le temps de téléchargement. Mais si le nom entre guillemets est un chemin relatif commençant par ./, aucun paquet ne manque : c'est le chemin dans votre propre code qui est faux.

Le correctif

rm -rf node_modules && npm install
Émis par
node
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 « Error: Cannot find module 'express' » ?

node n'a pu résoudre ce nom vers aucun fichier : il n'est pas dans node_modules, ou vous avez lancé depuis un répertoire sans node_modules. Cela arrive quand vous n'avez jamais installé, quand une installation a échoué à mi-chemin en laissant un arbre partiel, ou quand le paquet est en devDependencies et que vous avez installé avec --omit=dev. rm -rf node_modules && npm install reconstruit l'arbre depuis le lockfile ; c'est sans danger, rien n'est perdu et le seul coût est le temps de téléchargement. Mais si le nom entre guillemets est un chemin relatif commençant par ./, aucun paquet ne manque : c'est le chemin dans votre propre code qui est faux.

Q. Comment le corriger ?

rm -rf node_modules && npm install — avant de le lancer, vérifiez plus haut ce que cette commande jette.

Q. Quel outil émet cela ?

node. Cela relève de npm, et le message compte 5 mots.

Erreurs voisines