Kurze Antwort
Der Fehler Module not found bedeutet, dass das Programm ein Modul oder Paket nicht finden kann, das es laden möchte. Die häufigsten Ursachen sind ein falscher Name oder Pfad, ein nicht installiertes Modul, ein falsches Arbeitsverzeichnis oder eine nicht übereinstimmende Umgebung. Die Lösung besteht darin, den Import zu prüfen, das Paket zu installieren und das Projekt aus dem richtigen Ordner zu starten.
So erkennen Sie das Problem
- Meldung `ModuleNotFoundError: No module named 'x'` in Python
- Meldung `Error: Cannot find module 'x'` in Node.js
- Die Anwendung stürzt direkt nach dem Start ab
- Der Fehler tritt nur auf einem anderen Rechner oder in der CI-Umgebung auf
- Der Import funktioniert im Editor, aber nicht im Terminal
Häufigste Ursachen
Modul nicht installiert
Das vom Code benötigte Paket ist in der Umgebung nicht vorhanden. Das passiert oft, wenn `npm install` oder `pip install` nach dem Herunterladen des Projekts nicht ausgeführt wurde.
Falscher Name oder Pfad
Der Import enthält einen Tippfehler, einen falschen relativen Pfad oder es fehlt `__init__.py` im Python-Paket. Node.js sucht den exakten Modulnamen in `node_modules`.
Falsches Arbeitsverzeichnis
Der Befehl wird aus einem Ordner ausgeführt, der nicht das Projektstammverzeichnis ist, sodass `node_modules` oder die virtuelle Umgebung nicht sichtbar sind. Prüfen Sie, in welchem Ordner Sie sich vor dem Start befinden.
Nicht übereinstimmende Umgebung
Sie verwenden ein globales Python statt einer virtuellen Umgebung oder eine andere Node.js-Version als vom Projekt erwartet. Die Abhängigkeiten sind dann nicht sichtbar.
Probleme mit Cache oder Installation
Ein teilweise installiertes Paket, beschädigte `node_modules` oder eine veraltete `package-lock.json` können dazu führen, dass das Modul zwar existiert, aber nicht verfügbar ist.
Lösung Schritt für Schritt
- 1
Lesen Sie den genauen Modulnamen aus der Fehlermeldung
Die Meldung im Terminal nennt den Namen des fehlenden Moduls. Notieren Sie ihn und vergleichen Sie ihn mit der Importzeile im Code. In Node.js beginnt der Fehler normalerweise mit
Error: Cannot find module, in Python mitModuleNotFoundError. - 2
Prüfen Sie, ob Sie sich im Projektstammverzeichnis befinden
Führen Sie
pwd(macOS/Linux),cdin der Windows-Eingabeaufforderung oderGet-Locationin PowerShell aus, um den aktuellen Ordner zu sehen. Dort solltenpackage.jsonfür Node.js oderrequirements.txt/pyproject.tomlfür Python vorhanden sein. Wenn nicht, wechseln Sie mitcd Pfad/zum/projektin den richtigen Ordner. - 3
Installieren Sie die Abhängigkeiten
Führen Sie für Node.js
npm installim Projektstammverzeichnis aus. Aktivieren Sie für Python die virtuelle Umgebung und führen Sie dannpip install -r requirements.txtaus. Wenn das Modul weiterhin fehlt, installieren Sie es einzeln:npm install paketnameoderpip install paketname. - 4
Prüfen Sie Import und Pfad
Stellen Sie sicher, dass der Import dem tatsächlichen Paketnamen und der Ordnerstruktur entspricht. In Python hängen relative Importe davon ab, von wo aus das Modul gestartet wird; prüfen Sie in Node.js, ob der Pfad für lokale Dateien mit
./beginnt. Achten Sie auf Groß- und Kleinschreibung. - 5
Cache leeren und neu installieren
Wenn das Modul existiert, aber nicht sichtbar ist, erstellen Sie vor dem Löschen eine Sicherung des Projekts oder prüfen Sie, ob es im Git-Repository gespeichert ist. Löschen Sie dann
node_modulesundpackage-lock.jsonund führen Sie erneutnpm installaus; das Löschen vonpackage-lock.jsonkann die Versionen der Abhängigkeiten ändern. Löschen Sie in Python die__pycache__-Ordner und installieren Sie das Paket erneut. Der Vorgang kann einige Zeit dauern. - 6
Prüfen Sie Sprachversion und Umgebung
Führen Sie
node -voderpython --versionaus und vergleichen Sie mit den Anforderungen des Projekts. Prüfen Sie in Python, ob die virtuelle Umgebung aktiviert ist (die Eingabeaufforderung zeigt ihren Namen). Verwenden Sie in Node.jsnvm, wenn ein Versionswechsel nötig ist. - 7
Testen Sie isoliert
Erstellen Sie ein minimales Skript, das nur das Modul importiert, und führen Sie es aus. Wenn es auch dann fehlschlägt, liegt das Problem an der Installation oder Umgebung, nicht am restlichen Code. Wenn es funktioniert, liegt der Fehler am Pfad oder an der Art, wie die Hauptanwendung gestartet wird.
Wenn nichts hilft
Wenn Sie alle Schritte durchgegangen sind und der Fehler bleibt, prüfen Sie, ob das Projekt ein Monorepo oder Workspace-Konfiguration verwendet, bei der sich Pakete in einem anderen Ordner befinden. Prüfen Sie auch, ob eine globale Installation den Mangel einer lokalen Installation verdeckt. Führen Sie in Node.js npm ls paketname aus, um zu sehen, ob das Paket überhaupt im Abhängigkeitsbaum vorhanden ist. In Python gibt pip show paketname den Installationsort an. Wenn der Fehler nur im CI-System auftritt, vergleichen Sie Sprachversionen und Installationsschritte mit der lokalen Umgebung. Als letzte Option erstellen Sie eine neue virtuelle Umgebung oder einen frischen Klon des Projekts und wiederholen die Installation.
So beugen Sie vor
- Führen Sie nach dem Herunterladen eines Projekts immer `npm install` oder `pip install -r requirements.txt` aus
- Sperren Sie die Versionen der Abhängigkeiten (`package-lock.json`, `requirements.txt`) und halten Sie sie im Repository
- Verwenden Sie eine virtuelle Umgebung für Python und `nvm` für Node.js
- Prüfen Sie vor dem Ausführen von Befehlen, ob Sie sich im Projektstammverzeichnis befinden
Wann Sie einen Profi rufen sollten
Wenn der Fehler aus einem komplexen Build-System, einem Monorepo oder einer CI-Konfiguration stammt oder trotz aller Schritte wiederholt auftritt, wenden Sie sich an den IT-Support, um gemeinsam Umgebung und Abhängigkeiten zu prüfen.
Software- und Produktentwicklung · Individuelle Apps, SaaS und ein MVP in 4 bis 8 WochenHäufige Fragen
Warum tritt Module not found auf, obwohl das Paket installiert ist?
Meistens, weil der Befehl eine andere Umgebung verwendet als die, in der das Paket installiert wurde. Prüfen Sie, ob die virtuelle Umgebung aktiv ist oder ob Sie sich im richtigen Projektordner befinden.
Ist es sicher, node_modules und package-lock.json zu löschen?
In der Regel ja, aber erstellen Sie zuerst eine Sicherung des Projekts oder prüfen Sie, ob es im Git-Repository gespeichert ist. Das Löschen von `package-lock.json` kann die Versionen der Abhängigkeiten ändern; führen Sie nach dem Löschen erneut `npm install` aus, damit die Abhängigkeiten aus `package.json` installiert werden.
Wie finde ich heraus, welches Modul fehlt, wenn die Fehlermeldung unklar ist?
Starten Sie die Anwendung im Terminal und lesen Sie die letzte Zeile der Fehlermeldung; dort steht normalerweise der Modulname. In Python können Sie `python -v` für eine ausführlichere Ausgabe der Importe ausführen.