Estoy tratando de ejecutar un servidor http a través del nodo, pero sigo recibiendo el error EADDRINUSE específicamente con el puerto 5000 (probar varios otros funciona bien). He intentado usar sudo lsof -i tcp:5000 y sudo kill -9 [PID] . Aquí está una de esas líneas de shell:
Borealis:BackEnd grepgrok$ sudo lsof -i tcp:5000 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME ControlCe 34117 grepgrok 26u IPv4 0x64883005c755e215 0t0 TCP *:commplex-main (LISTEN) ControlCe 34117 grepgrok 27u IPv6 0x64883005c59ef42d 0t0 TCP *:commplex-main (LISTEN) Borealis:BackEnd grepgrok$ sudo kill -9 34117 Borealis:BackEnd grepgrok$Sin embargo, todavía tengo
Borealis:BackEnd grepgrok$ node ./bin/www Port 5000 is already in use Nota: me estoy basando en el proyecto de muestra npx express-generator que incluye esto para los errores:
function onError(error) { if (error.syscall !== 'listen') { throw error; } var bind = typeof port === 'string' ? 'Pipe ' + port : 'Port ' + port; // handle specific listen errors with friendly messages switch (error.code) { case 'EACCES': console.error(bind + ' requires elevated privileges'); process.exit(1); break; case 'EADDRINUSE': console.error(bind + ' is already in use'); process.exit(1); break; default: throw error; } }Lo que terminó funcionando (principalmente excepto por un poco de funk) es usar kill-port 5000; nodemon app.js como mi npm run dev .