Accueil·Messages d’erreur

webpack · npm

Le message

Module not found: Error: Can't resolve './components/Button' in '/app/src'

Ce que cela veut dire

L'empaqueteur n'a pas trouvé ce fichier à ce chemin — il s'agit de votre propre import, pas d'un paquet. Cela arrive quand le chemin relatif est décalé d'un niveau, quand l'extension manque ou est fausse, ou quand la casse du nom de fichier diffère de l'import. Ce dernier cas est le plus vicieux : les systèmes de fichiers de macOS et de Windows ignorent la casse, donc cela marche chez vous et ne casse que sur la CI Linux. Faites un ls du répertoire et comparez avec l'import caractère par caractère, casse comprise. Si le nom est un paquet et non un chemin, installez-le ; dans les deux cas rien n'est supprimé.

Le correctif

Pas de commande en une ligne ici. L’explication dit où regarder.

Émis par
webpack
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 « Module not found: Error: Can't resolve './components/Button' in '/app/src' » ?

L'empaqueteur n'a pas trouvé ce fichier à ce chemin — il s'agit de votre propre import, pas d'un paquet. Cela arrive quand le chemin relatif est décalé d'un niveau, quand l'extension manque ou est fausse, ou quand la casse du nom de fichier diffère de l'import. Ce dernier cas est le plus vicieux : les systèmes de fichiers de macOS et de Windows ignorent la casse, donc cela marche chez vous et ne casse que sur la CI Linux. Faites un ls du répertoire et comparez avec l'import caractère par caractère, casse comprise. Si le nom est un paquet et non un chemin, installez-le ; dans les deux cas rien n'est supprimé.

Q. Comment le corriger ?

Pas de commande en une ligne. L’explication ci-dessus dit où regarder.

Q. Quel outil émet cela ?

webpack. Cela relève de npm, et le message compte 9 mots.

Erreurs voisines