Error: listen EADDRINUSE: address already in use :::3000 und Vite Port 5173 is in use beheben
Error: listen EADDRINUSE: address already in use :::3000Dieser Node.js-Fehler bedeutet, dass bereits ein anderer Prozess auf Port 3000 lauscht (:::
ist die IPv6-Form für „alle Adressen“; möglicherweise sehen Sie auch 127.0.0.1:3000). Oft
ist es eine Kopie desselben Servers, die Sie früher gestartet und nie gestoppt haben.
Vite geht mit derselben Situation anders um. Standardmäßig gibt es Folgendes aus:
Port 5173 is in use, trying another one...und startet auf dem nächsten freien Port, sodass der Server zwar läuft, aber nicht dort, wo
Sie ihn erwarten. Mit --strictPort (oder server.strictPort: true) beendet sich Vite
stattdessen mit Error: Port 5173 is already in use.
Selbst beheben
Abschnitt betitelt „Selbst beheben“-
Finden Sie den Prozess, der den Port belegt, und beenden Sie ihn. Unter Windows:
Terminal-Fenster netstat -ano | findstr :3000taskkill /PID 12345 /FSchritt für Schritt, auch mit der PowerShell-Variante, unter Den Prozess finden und beenden, der einen Port belegt.
-
Oder starten Sie Ihren Server auf einem anderen Port, zum Beispiel
PORT=3001bei vielen Node-Servern oder--port 5174bei Vite.
So hilft Moonpool
Abschnitt betitelt „So hilft Moonpool“Wenn Sie den Server über Moonpool ausführen, setzen Sie port bei seinem Eintrag. Moonpool
dann:
- zeigt die App als „läuft“, solange auf diesem Port etwas antwortet, sodass ein übrig gebliebener Server, der ihn hält, als laufend, aber nicht als „managed by Moonpool“ erscheint;
- beendet bei Stoppen und Neu starten alles, was noch auf
portlauscht, wennkillModeportist (der Standard beiweb-Apps), sodass der nächste Start den Port frei vorfindet; - markiert zwei Apps, die mit demselben
portkonfiguriert sind.
{ "id": "api", "name": "API", "group": "Web apps", "type": "web", "cwd": "C:\\code\\api", "command": "node server.js", "port": 3000, "env": { "PORT": "3000" }, "killMode": "port"}Moonpool prüft den Port nicht, bevor es startet. Ist der Port noch belegt, gibt der Befehl den obigen Fehler im Terminal-Tab der App aus. Drücken Sie Stoppen (das den Port freigibt) und dann erneut Starten.
Übergeben Sie bei Vite --strictPort und halten Sie port gleich dem angeforderten Port:
npm run dev -- --port 5173 --strictPortOhne diese Option wechselt Vite möglicherweise auf 5174, während Moonpool weiter 5173 beobachtet, und der Statuspunkt wird nie ausgefüllt.
killMode port beendet jeden Prozess auf dem Port, verwenden Sie es daher nur für Ports,
die sonst nichts braucht. Für Docker-Apps unter Windows verwenden Sie es niemals. Siehe
Stoppen und Neustarten.
Siehe auch
Abschnitt betitelt „Siehe auch“Moonpool ist freie Software von FasterDB