Wie behebt man den Fehler „Modul kann nicht gefunden werden“ mit Node.js?

Wie Behebt Man Den Fehler Modul Kann Nicht Gefunden Werden Mit Node Js



Wie andere Programmiersprachen muss Node.js den Quellcode der Anwendung nicht in kleine Teile zerlegen. Es schreibt den gesamten Quellcode in eine „.js“-Datei und der Interpreter verursacht keine Probleme. Beim Erstellen einer sehr komplexen Node.js-Anwendung empfiehlt es sich jedoch, den Quellcode in kleinere Module zu unterteilen und diese dann zu einer zusammenhängenden Anwendung zu kombinieren.

Kurzer Überblick

Was ist ein Modul in Node.js?

In Node.js ist das „ Modul „entspricht einer Bibliothek, die basierend auf ihrem Kontext eine Verbindung mit einer Anwendung aufbaut. Es ermöglicht den Entwicklern, den gekapselten Code bei Bedarf wiederzuverwenden. Es ist in drei Hauptkategorien unterteilt: „integrierte“, „lokale“ und „Drittanbieter“-Module. Darüber hinaus enthalten diese Module eine breite Palette von Methoden und Eigenschaften, die entsprechend ihrer Funktionalität spezifizierte Operationen ausführen.







Wie behebe ich den Fehler „Modul kann nicht gefunden werden“ mit Node.js?

In diesem Abschnitt werden alle möglichen Gründe aufgeführt, die den Fehler „Modul kann nicht gefunden werden“ erzeugen, und außerdem praktikable Lösungen zur Behebung des Problems bereitgestellt:



Grund 1: Erforderliches Modul nicht installiert

Der häufigste Grund für „ Modul kann nicht gefunden werden „Fehler ist, dass das erforderliche“ Das Modul eines Drittanbieters ist nicht installiert ” im aktuellen Node.js-Projekt. Angenommen, wir importieren das „mysql“-Modul eines Drittanbieters auf diese Weise in die Node.js-Anwendung:



const MySQL = erfordern ( 'MySQL' ) ;

Im obigen Befehl ist das „ erfordern() Die Methode „bindet das Modul „mysql“ in die aktuelle node.js-Anwendung ein.





Führen Sie die „.js“-Datei aus:

Knotenindex. js

Die folgende Ausgabe generiert den besprochenen Fehler, da das Modul „mysql“ nicht im aktuellen Node.js-Projekt installiert ist:



Lösung: Installieren Sie das erforderliche Modul

Die Lösung für den oben besprochenen Fehler besteht darin, das erforderliche Modul mithilfe des „ npm / Garn ' Paket-Manager. Für dieses Szenario wird das erforderliche „mysql“-Modul mit dem „npm“-Installationsbefehl installiert:

npm MySQL installieren

Die Ausgabe zeigt die erfolgreiche Installation des „mysql“-Moduls im aktuellen Node.js-Projekt:

Führen Sie nun die „.js“-Datei erneut aus:

Knotenindex. js

Es kann analysiert werden, dass der obige Befehl erfolgreich ausgeführt wurde, ohne dass der Fehler „Modul kann nicht gefunden werden“ generiert wurde:

Grund 2: Falscher Modulpfad

Ein weiterer Grund für die „ Modul kann nicht gefunden werden „Fehler ist der“ Falscher Modulpfad “. Dies geschieht normalerweise, wenn der Benutzer ein lokales Modul über seinen relativen Pfad importiert. Angenommen, der Benutzer erstellt ein benutzerdefiniertes Modul in einem bestimmten Ordner und importiert es in die Node.js-Anwendung. Bevor Sie dies tun, stellen Sie sicher, dass der angegebene Pfad korrekt ist, andernfalls tritt der besprochene Fehler auf.

Zum Beispiel ein lokales/benutzerdefiniertes Modul mit dem Namen „ meinModul „ist im Ordner „./custom-modules“ vorhanden:

Der Benutzer importiert das oben hervorgehobene „myModule“ über seinen relativen Pfad in die aktuelle Node.js-Anwendung:

const Sprachen = erfordern ( './myModule' ) ;

Führen Sie die Datei „.js“ aus:

Knotenindex. js

Es ist ersichtlich, dass aufgrund des falschen Pfads von „myModule“ der Fehler „Cannot find module“ generiert wird:

Lösung: Geben Sie den richtigen Modulpfad an

Die Lösung für den oben besprochenen Fehler besteht darin, den korrekten oder genauen Pfad des Moduls anzugeben, in dem es sich befindet. Hier haben wir den richtigen Pfad „myModule“ übergeben, um den Fehler „Modul kann nicht gefunden werden“ zu beheben:

const Sprachen = erfordern ( './custom-modules/myModule' ) ;

Starten Sie die „.js“-Datei:

Knotenindex. js

Es ist zu beobachten, dass die folgende Ausgabe den aufgetretenen Fehler nicht anzeigt, da der angegebene Pfad des importierten Moduls korrigiert wurde:

Grund 3: Falscher Modulname (Groß-/Kleinschreibung beachten)

Die Module sind „ Groß- und Kleinschreibung beachten ” unter Linux und macOS, wenn beispielsweise der Modulname in Großbuchstaben installiert ist und der Benutzer ihn in Kleinbuchstaben importiert, dann wird das „ Modul kann nicht gefunden werden Es wird ein Fehler generiert. Dies liegt daran, dass zwischen dem tatsächlichen Modulnamen und der Importanweisung eine Diskrepanz besteht.

Hier wird das installierte „csvtojson“-Modul in „Großbuchstaben“ in die Node.js-Anwendung importiert:

const csvtojson = erfordern ( „CSVTOJSON“ ) ;

Führen Sie die „.js“-Datei aus:

Knotenindex. js

Die Ausgabe generiert den Fehler „Modul kann nicht gefunden werden“ aufgrund des falschen Modulnamens:

Lösung: Geben Sie den richtigen Modulnamen ein

Die Lösung für den oben genannten Fehler besteht darin, die korrekte Groß-/Kleinschreibung des importierten Moduls anzugeben, während Sie das „ erfordern() ' Methode. In diesem Szenario wird das Modul „csvtojson“ in der Methode „require()“ in der richtigen Schreibweise angegeben:

const csvtojson = erfordern ( „csvtojson“ ) ;

Führen Sie die Datei „.js“ erneut aus:

Knotenindex. js

Nun hat der obige Befehl nicht den Fehler „Modul kann nicht gefunden werden“ generiert, da die Groß-/Kleinschreibung des importierten Pakets mit seinem tatsächlichen Namen übereinstimmt:

Grund 4: Falsche Dateierweiterung

Der ' Modul kann nicht gefunden werden Der Fehler kann auch aufgrund der Fehlermeldung „ falsche Dateierweiterung “. Ähnlich wie der falsche Dateipfad passiert es bei lokalen Modulen. Wenn beispielsweise ein lokales Modul in der Datei „.json“ erstellt und in der Node.js-Anwendung mit der Erweiterung „.js“ angegeben wird, wird der oben genannte Fehler generiert:

In diesem Szenario ist das „ myModule.js Der im Feld „Falscher Modulpfad“ angezeigte Grund wird als Beispieldatei verwendet. Der Zugriff darauf erfolgt in der aktuellen Node.js-Anwendung durch Angabe der Erweiterung „.json“ wie folgt:

const Sprachen = erfordern ( „./custom-modules/myModule.json“ ) ;

Führen Sie die „.js“-Datei aus:

Knotenindex. js

Die Ausgabe generiert den Fehler „Modul kann nicht gefunden werden“ aufgrund der falschen Dateierweiterung der Datei „myModule“:

Lösung: Geben Sie die richtige Dateierweiterung ein

Die Lösung für den besprochenen Fehler besteht darin, die richtige Dateierweiterung einzugeben, in der das lokale Modul erstellt wird. Beispielsweise haben wir die korrekte Dateierweiterung der Datei „myModule.js“ angegeben, um den Fehler „Modul kann nicht gefunden werden“ zu beheben:

const Sprachen = erfordern ( './custom-modules/myModule.js' ) ;

Führen Sie die Datei „.js“ aus:

Knotenindex. js

Nun wurde der obige Befehl erfolgreich ausgeführt, ohne dass der Fehler „Modul konnte nicht gefunden werden“ angezeigt wurde:

Grund 5: Globale Installation eines Moduls

Die Knotenmodule können lokal (für ein bestimmtes Projekt) oder global (für alle Projekte) installiert werden. Unter Linux , Wenn das benötigte Modul global in einem Betriebssystem installiert ist und in einem bestimmten Projekt ohne die lokale Installation aufgerufen wird, dann wird das „ Modul kann nicht gefunden werden ”Fehler wird generiert.

Zum Beispiel das „ mongodb Das Modul wird global über das „“ im Linux-Betriebssystem installiert. sudo npm install -g mongodb ”-Befehl und wird lokal im jeweiligen Knotenprojekt aufgerufen:

const mongodb = erfordern ( 'mongodb' )

Führen Sie die Datei „.js“ aus:

Knotenindex. js

Die Ausgabe generiert den besprochenen Fehler, da „mongodb“ nicht lokal im aktuellen Node-Projekt installiert ist:

Lösung: Installieren Sie das Modul lokal

Die Lösung für den aufgetretenen Fehler besteht darin, das Modul lokal für ein bestimmtes Node.js-Projekt auf einem Linux-basierten Betriebssystem zu installieren.

Hier das ' mongodb Das Modul wird mit Hilfe des Installationsbefehls „npm“ lokal im aktuellen Projekt installiert:

npm mongodb installieren

Wenn die lokale Installation von „mongodb“ abgeschlossen ist, importieren Sie es in die „.js“-Datei und führen Sie es aus:

Knotenindex. js

Es ist ersichtlich, dass der Fehler „Modul kann nicht gefunden werden“ behoben wurde, indem das Modul „mongodb“ lokal für das aktuelle Node.js-Projekt installiert wurde:

Unter Windows, Die globale und lokale Installation eines Moduls erzeugt nicht den Fehler „Modul kann nicht gefunden werden“.

Grund 6: Fehlende Eintragsdatei

Der ' Modul kann nicht gefunden werden „Fehler kann auch generiert werden, weil die Haupteintragsdatei in einer „package.json“ des Moduls fehlt. Die Haupteintragsdatei jedes Moduls ist standardmäßig die Datei „index.js“.

Angenommen, wenn der Benutzer es unbeabsichtigt entfernt, wird der oben genannte Fehler generiert. Dies liegt daran, dass beim Importieren des angegebenen Moduls „ erfordern() Die Methode navigiert zum Ordner dieses Moduls und sucht nach dem Einstiegspunkt. Wenn dieser nicht vorhanden ist, kann sie das Modul nicht in die Node.js-Anwendung importieren.

Die Eintragsdatei „index.js“ des erforderlichen Moduls befindet sich in seiner Ordnerstruktur. Der folgende Ausschnitt zeigt die Eintragsdatei des Moduls „mysql“:

Nun wird die oben hervorgehobene „index.js“-Datei aus dem „mysql“-Ordner entfernt und anschließend das „mysql“-Modul in die Node.js-Anwendung importiert:

const MySQL = erfordern ( 'MySQL' )

Führen Sie die „.js“-Datei aus:

Knotenindex. js

Hier generiert die Ausgabe den Fehler „Modul kann nicht gefunden werden“, da die Eintragsdatei des Moduls „mysql“ fehlt:

Lösung: Erforderliches Modul erneut installieren

Die Lösung für den oben aufgetretenen Fehler besteht darin, das „ node_modules ”-Verzeichnis und installieren Sie das erforderliche Modul erneut. Hier wird das „mysql“-Modul nach dem Löschen des „node_modules“-Verzeichnisses erneut installiert:

npm MySQL installieren

Nach der erfolgreichen Installation von „mysql“ erscheint das neue „ node_modules Es wird automatisch ein Verzeichnis generiert, das die Ordnerstruktur des Moduls „mysql“ enthält, in dem „index.js“ vorhanden ist:

Führen Sie nun die Datei „.js“ erneut aus:

Knotenindex. js

Hier generiert die Ausgabe keinen Fehler „Modul kann nicht gefunden werden“, da eine Eintragsdatei mit dem Namen „index.js“ des Moduls „mysql“ vorhanden ist:

Was tun, wenn der Fehler „Modul nicht gefunden“ weiterhin besteht?

Wenn das „ Modul kann nicht gefunden werden Der Fehler bleibt bestehen, nachdem er mit einer der oben genannten Lösungen behoben wurde. Löschen Sie dann den Fehler „ node_modules ' Ordner. Der Ordner „node_modules“ wird automatisch generiert, wenn ein Modul eines Drittanbieters installiert wird. Es enthält alle Pakete von Drittanbietern, von denen das Node.js-Projekt abhängt.

Darüber hinaus ist die „ package-lock.json Die Datei wird auch automatisch generiert, wenn ein Paket mit „npm“ installiert wird. Es zeichnet die Abhängigkeiten und Unterabhängigkeiten auf, von denen das Paket abhängt, sowie deren Versionen. Wenn das Paket mit „yarn“ installiert wird, lautet dieser Dateiname „ Garn.lock “.

Lösung: Entfernen Sie den Ordner „node_modules“ und die Datei „package-lock.json“.

Die Lösung für den aufgetretenen Fehler besteht darin, den Ordner „node_modules“ und die Datei „package-lock.json/yarn.lock“ zu löschen und das erforderliche Paket erneut zu installieren.

Unter Linux , der oben angegebene Ordner und die Dateien können mit Hilfe der unten angegebenen „ rm (entfernen)“ Befehl:

rm - rf node_modules-Paket - sperren. json //Ordner und Datei löschen

ls // Datei und Verzeichnisse anzeigen

Im obigen Befehl lautet „ -R „Flag löscht den angegebenen Ordner“ rekursiv ” einschließlich aller seiner Unterverzeichnisse und der „ F „Flag weist den Interpreter an, diese Aufgabe auszuführen“ mit Nachdruck ”:

Die Ausgabe zeigt, dass der Ordner „node_modules“ und die Datei „package-lock.json/yarn.lock“ vollständig aus dem aktuellen Node.js-Projekt entfernt wurden:

Unter Windows , kann der Benutzer den Ordner „node_modules“ und die Datei „package-lock.json/yarn.lock“ löschen, indem er einfach die Taste „ löschen ”-Taste oder verwenden Sie die Option „Löschen“ aus dem Dropdown-Menü.

Dabei geht es darum, den Fehler „Modul kann nicht gefunden werden“ in Node.js zu beheben.

Abschluss

Um das „ Modul kann nicht gefunden werden „Fehler“, „Installieren Sie das erforderliche Modul“, „Geben Sie den richtigen Pfad an“, „Geben Sie den richtigen Fall in die Methode „require()“ ein“ und auch „Geben Sie die richtige Dateierweiterung ein“. Darüber hinaus kann auch gelöst werden, das Modul „lokal zu installieren“ im Node.js-Projekt. Wenn der jeweilige Fehler weiterhin besteht, entfernen Sie den Ordner „node_modules“ und die Datei „package-lock.json“ und installieren Sie dann das erforderliche Modul erneut über „npm/yarn“. In diesem Beitrag wurden alle möglichen Gründe sowie die Lösung zur Behebung des Fehlers „Modul kann nicht gefunden“ mit Node.js besprochen.