node · npm
Die Meldung
Error: Cannot find module 'express'
Was es bedeutet
node konnte diesen Namen zu keiner Datei auflösen: er liegt nicht in node_modules, oder Sie haben aus einem Verzeichnis ohne node_modules gestartet. Das passiert, wenn Sie nie installiert haben, wenn eine Installation auf halbem Weg scheiterte und einen unvollständigen Baum hinterließ, oder wenn das Paket in devDependencies steht und Sie mit --omit=dev installiert haben. rm -rf node_modules && npm install baut den Baum aus dem Lockfile neu auf; es ist gefahrlos, verliert nichts und kostet nur die Downloadzeit. Beginnt der Name in den Anführungszeichen aber mit ./, fehlt kein Paket — der Pfad in Ihrem eigenen Code ist falsch.
Die Lösung
rm -rf node_modules && npm install- Ausgegeben von
- node
- 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 „Error: Cannot find module 'express'“?
node konnte diesen Namen zu keiner Datei auflösen: er liegt nicht in node_modules, oder Sie haben aus einem Verzeichnis ohne node_modules gestartet. Das passiert, wenn Sie nie installiert haben, wenn eine Installation auf halbem Weg scheiterte und einen unvollständigen Baum hinterließ, oder wenn das Paket in devDependencies steht und Sie mit --omit=dev installiert haben. rm -rf node_modules && npm install baut den Baum aus dem Lockfile neu auf; es ist gefahrlos, verliert nichts und kostet nur die Downloadzeit. Beginnt der Name in den Anführungszeichen aber mit ./, fehlt kein Paket — der Pfad in Ihrem eigenen Code ist falsch.
Q. Wie behebe ich das?
rm -rf node_modules && npm install — vor dem Ausführen oben prüfen, was dieser Befehl verwirft.
Q. Welches Werkzeug gibt das aus?
node. Es gehört zu npm, und die Meldung hat 5 Wörter.