webpack · npm
Die Meldung
Module not found: Error: Can't resolve './components/Button' in '/app/src'
Was es bedeutet
Der Bundler hat diese Datei unter diesem Pfad nicht gefunden — das ist Ihr eigener Import, kein Paket. Es passiert, wenn der relative Pfad eine Ebene verrutscht ist, wenn die Endung fehlt oder falsch ist, oder wenn die Groß- und Kleinschreibung des Dateinamens vom Import abweicht. Letzteres ist das gemeinste: die Dateisysteme von macOS und Windows unterscheiden keine Groß- und Kleinschreibung, es läuft also bei Ihnen und bricht nur in der Linux-CI. Geben Sie das Verzeichnis mit ls aus und vergleichen Sie Zeichen für Zeichen mit dem Import, Großschreibung inbegriffen. Ist der Name ein Paket und kein Pfad, installieren Sie es; in keinem Fall wird etwas gelöscht.
Die Lösung
Hier hilft kein Einzeiler. Die Erklärung sagt, worauf zu schauen ist.
- Ausgegeben von
- webpack
- npm
- 20
Bei npm steht die Ursache in der ersten code-XXXX-Zeile und nicht in den letzten sechs npm-ERR!-Zeilen, und wenn der Fehler aus dem Abhängigkeitsbaum oder einem Native-Build statt aus eigenem Code kommt, löst das Löschen von node_modules mit erneuter Installation etwa die Hälfte.
Eine Fehlermeldung lesen
- Von der ersten Zeile abwärts lesen. Weiter unten geht es um das Innere des Werkzeugs; die Ursache steht meist oben.
- Gibt es Datei und Zeilennummer, dort anfangen — nicht der oberste Stack-Frame, sondern die oberste Zeile, die eine eigene Datei nennt.
- Die Meldung wörtlich suchen, vorher aber eigene Pfade und Variablennamen entfernen; genau die verhindern den Treffer.
- Dieselbe Lage wird je Werkzeugversion anders formuliert. Passen die Treffer nicht, die Versionsnummer mit in die Suche.
- Vor dem Einfügen einer Lösung prüfen, was sie verwirft. Manches davon lässt sich nicht zurückholen.
Häufige Fragen
Q. Was bedeutet „Module not found: Error: Can't resolve './components/Button' in '/app/src'“?
Der Bundler hat diese Datei unter diesem Pfad nicht gefunden — das ist Ihr eigener Import, kein Paket. Es passiert, wenn der relative Pfad eine Ebene verrutscht ist, wenn die Endung fehlt oder falsch ist, oder wenn die Groß- und Kleinschreibung des Dateinamens vom Import abweicht. Letzteres ist das gemeinste: die Dateisysteme von macOS und Windows unterscheiden keine Groß- und Kleinschreibung, es läuft also bei Ihnen und bricht nur in der Linux-CI. Geben Sie das Verzeichnis mit ls aus und vergleichen Sie Zeichen für Zeichen mit dem Import, Großschreibung inbegriffen. Ist der Name ein Paket und kein Pfad, installieren Sie es; in keinem Fall wird etwas gelöscht.
Q. Wie behebe ich das?
Es gibt keinen Einzeiler. Die Erklärung oben sagt, worauf zu schauen ist.
Q. Welches Werkzeug gibt das aus?
webpack. Es gehört zu npm, und die Meldung hat 9 Wörter.