Wie behebe ich „Fehler: EADDRINUSE abhören: Adresse wird bereits verwendet“?

Wie Behebe Ich Fehler Eaddrinuse Abhoren Adresse Wird Bereits Verwendet



Node.js ist eine Laufzeitumgebung, die es ermöglicht, in JavaScript-Sprache geschriebenen Code über die Webseite oder den lokalen Server auszuführen. Es handelt sich um eine Single-Threaded-Umgebung mit asynchronem Charakter. Es bietet verschiedene integrierte und externe Module, mit denen verschiedene Vorgänge wie das Senden von HTTP-Anfragen über den Server ausgeführt werden können. Bei der Interaktion mit verschiedenen lokalen Servern besteht die Möglichkeit, dass mehrere Fehler auftreten, die durch Befolgen spezifischer Anleitungen behoben werden können.

In diesem Handbuch werden die möglichen Korrekturen für „Listen EADDRINUSE: bereits verwendete Adresse“ anhand der folgenden Abschnitte erläutert:

Wie behebe ich „Fehler: EADDRINUSE abhören: Adresse wird bereits verwendet“?

Der ' Fehler: EADDRINUSE abhören: Adresse wird bereits verwendet ” entsteht, wenn mehr als eine Anwendung oder Aufgabe versucht, auf denselben Port zuzugreifen. Dieser Fehler kann während der Test- oder Entwicklungsphase auftreten. Zum besseren Verständnis wird beispielsweise der oben genannte Fehler generiert:







const expressObj = erfordern ( 'äußern' )
const DemoApp = expressObj ( )
DemoApp. erhalten ( '/' , ( req, res ) => {
res. json ( {
Name : „Linuxhint-Artikel über CORS“ ,
Sprache : 'Node.js' ,
Anwendung : 'corsApp' ,
Herkunft : „Kreuzursprung“ ,
Middleware : 'CORS'
} )
} )
DemoApp. Hören ( 8080 , ( ) => {
Konsole. Protokoll ( `Server gestartet am 'http://localhost:8080/' ` )
} )
DemoApp. Hören ( 8080 , ( ) => {
Konsole. Protokoll ( `Server gestartet am 'http://localhost:8080/' ` )
} )

Das obige Code-Snippet funktioniert folgendermaßen:



  • Importieren Sie zunächst „ äußern „Modul und speichern Sie sein Objekt in einer neuen Variablen“ expressObj “. Verwenden Sie diese Variable als Konstruktor, um eine neue Express-Anwendung mit dem Namen „ DemoApp “.
  • Erstellen Sie als Nächstes eine GET-Anfrage mit dem Befehl „ erhalten() ”-Methode und legen Sie die Homepage als Root-Handler fest, indem Sie „ / ” als ersten Parameter. Der zweite Parameter ist eine anonyme Rückruffunktion, die „ JSON „Daten als Antwort durch die Nutzung der „ json() ' Methode.
  • Lassen Sie die App anschließend über dieselbe Portnummer wie „ ausführen. 8080 ' zweimal. Diese zweimalige Ausführung desselben Ports erzeugt den genannten Fehler.

Die generierte Ausgabe nach der Kompilierung des obigen Codes zeigt das Auftreten eines Fehlers „Fehler: EADDRINUSE abhören: Adresse bereits verwendet“:







Es gibt hauptsächlich zwei Lösungen, um den in der obigen Ausgabe aufgetretenen Fehler zu beheben: Ändern Sie die Portnummern oder stoppen Sie einen der laufenden Prozesse. Aber es gibt auch mehrere andere Korrekturen, die indirekt das „Problem“ beheben. Fehler: EADDRINUSE abhören: Adresse wird bereits verwendet ' Fehler. Nachfolgend finden Sie diese Lösungen sowie praktische Demonstrationen:

Lösung 1: Prozesse auf verschiedenen Ports ausführen

Die am meisten empfohlene Lösung für den genannten Fehler besteht darin, die Portnummern zu identifizieren, auf denen beide Dienste ausgeführt werden, wie in unserem Fall „ 8080 “. Wählen Sie dann zufällig einen Dienst aus und ändern Sie seine Portnummer, damit die Dienste auf localhost lauschen, jedoch mit unterschiedlichen Portnummern. Unser Code nach der besprochenen Änderung ist unten dargestellt:



const expressObj = erfordern ( 'äußern' )
const DemoApp = expressObj ( )
DemoApp. erhalten ( '/' , ( req, res ) => {
res. json ( {
Name : „Linuxhint-Artikel über CORS“ ,
Sprache : 'Node.js' ,
Anwendung : 'corsApp' ,
Herkunft : „Kreuzursprung“ ,
Middleware : 'CORS'
} )
} )
DemoApp. Hören ( 8080 , ( ) => {
Konsole. Protokoll ( `Server gestartet am 'http://localhost:8080/' ` )
} )
DemoApp. Hören ( 3000 , ( ) => {
Konsole. Protokoll ( `Server gestartet am 'http://localhost:8080/' ` )
} )

Die nach der Ausführung des obigen Codes generierte Ausgabe zeigt, dass nun „ Fehler: EADDRINUSE abhören: Adresse wird bereits verwendet „Problem ist behoben:

Lösung 2: Stoppen der Prozesse, die auf demselben Port ausgeführt werden

Eine andere Möglichkeit, den Fehler „Listen EADDRINUSE: Adresse wird bereits verwendet“ zu beheben, besteht darin, die Prozesse zu stoppen, die auf dem spezifischen Port ausgeführt werden, der bereits verwendet wird. Dadurch wird der Port inaktiv, auf den der Entwickler zugreifen kann, um bestimmte Aufgaben auszuführen. Dieser Stoppvorgang erfolgt mit Hilfe eines externen Moduls namens „ Kill-Port “.

Zum Beispiel alle Prozesse, die auf der angegebenen Portnummer laufen „ 8080 „werden mit dem „“ getötet Kill-Port ” Modul. Es gibt zwei Möglichkeiten, das „Kill-Port“-Modul zu verwenden. Beide Ansätze werden im Folgenden beschrieben:

Methode 1: Verwenden Sie nach der Installation das Modul „Kill-Port“.

Der ' Kill-Port „Modul ist ein externes Modul eines Drittanbieters und dient zur Verwendung dieses Moduls innerhalb des node.js-Projekts. Dieses Modul muss zuerst heruntergeladen werden, indem Sie den unten angegebenen Befehl ausführen:

npm install kill - Hafen - G

Die folgende Abbildung zeigt den Abschluss der Installation für „ Kill-Port ” Variable:

Nach der Installation kann der Benutzer Dienste für die erforderliche Portnummer beenden. In unserem Fall sind die Dienste der Portnummer „ 8080 „werden mit dem unten angegebenen Befehl getötet:

töten - Hafen -- Hafen 8080

Die folgende Ausgabe bestätigt, dass alle Dienste für den Port „ 8080 ' wurden getötet:

Methode 2: „Kill-Port“-Modul ohne Installation verwenden

Der ' Kill-Port Das Modul kann verwendet werden, ohne den Installationsprozess durchlaufen zu müssen, indem ein „ npx ” Paketläufer. Zum Beispiel das „ Kill-Port Das Modul wird verwendet, um die angegebenen zwei Ports mithilfe des unten angegebenen Paket-Runner-Befehls „npx“ zu töten:

Npx-Kill - Hafen 8080 9000

Die folgende Ausgabe zeigt, dass die Dienste für bestimmte Ports „ 9000 ' Und ' 8080 ' wurden getötet:

Bonus-Tipp: Deinstallation des „Kill-Port“-Moduls

Um das „ Kill-Port ”-Modul global vom System aus führen Sie den unten angegebenen Befehl aus:

npm uninstall kill - Hafen - G

Lösung 3: Beenden Sie die Node.js-Dienste unter Windows

Wenn der „Fehler: EADDRINUSE abhören: Adresse wird bereits verwendet“ weiterhin besteht, beenden Sie alle laufenden „ node.js ”Dienste entweder mit GUI- oder CLI-Ansatz.

Verwendung des CLI-Ansatzes

Drücken Sie die Taste „ Fenster Klicken Sie auf die Schaltfläche, um die Suchleiste zu öffnen, und geben Sie Folgendes ein: CMD ” im Suchfeld, aus den generierten Ergebnissen. Wählen Sie dann „ Eingabeaufforderung ”-Anwendung und drücken Sie die Taste „ Als Administrator ausführen ' Taste:

Wenn Sie die Option auswählen, wird ein neues Fenster mit der Kontrollaufforderung angezeigt. Um die derzeit im Hintergrund ausgeführten „node.js“-Dienste zu beenden, führen Sie den folgenden Befehl aus:

Taskkill / F / IM node. exe

Die generierte Ausgabe zeigt, dass die „node.js“-Dienste beendet wurden:

Verwendung des GUI-Ansatzes

Um die laufenden node.js-Dienste vom System zu beenden, öffnen Sie das „ Taskmanager ” durch Drücken der „ Strg + Umschalt + Esc ”-Tasten sofort. Gehen Sie nach dem Öffnen des „Task-Managers“ zu „ Einzelheiten ” Typ, wählen Sie die Option „ node.exe ”-Dienst und klicken Sie auf die Schaltfläche „ Task beenden ”-Taste befindet sich unten rechts, wie unten gezeigt:

Dabei geht es darum, den „Fehler: Listen EADDRINUSE: Adresse bereits verwendet“ in Node.js zu beheben.

Abschluss

Der „Fehler: EADDRINUSE abhören: Adresse wird bereits verwendet“ tritt auf, wenn mehr als ein Dienst gleichzeitig versucht, einen einzelnen Port zu verwenden. Um das Problem zu beheben, sollte der Benutzer versuchen, eine andere Portnummer zu verwenden oder die Dienste zu beenden, die bereits auf der angegebenen Portnummer ausgeführt werden, indem er „ Kill-Port ” Modul. Wenn der Fehler immer noch nicht behoben ist, beenden Sie alle laufenden „ node.js ”Dienste aus dem Task-Manager und starten Sie Ihre Anwendung neu. In diesem Leitfaden werden die möglichen Lösungen zur Behebung des Problems „Fehler: EADDRINUSE abhören: Adresse wird bereits verwendet“ dargestellt.