javascript - escucha el error EADDRNOTAVAIL en Node.js
(8)
Creo que necesitas un poco más de contexto como parte de tu código. Supongo que estás empezando a escuchar en un servidor web o en un socket. De acuerdo con esa suposición, obtengo algo similar cuando ejecuto un servidor web básico en mi servidor de prueba, a menos que ejecute el uso de localhost.
events.js:48
throw arguments[1]; // Unhandled ''error'' event
^
Error: listen EADDRNOTAVAIL
at errnoException (net.js:670:11)
at Array.0 (net.js:756:28)
at EventEmitter._tickCallback (node.js:190:38)
Intente cambiar el parámetro [hostname] a localhost:
var http = require(''http'');
http.createServer( function ).listen(8000, ''127.0.0.1'');
Instalé Nginx y Node.js en mi servidor.
Cuando intento ejecutar mi archivo node.js, aparece un error:
node.js:201 throw e; // process.nextTick error, or ''error'' event on first tick ^ Error: listen EADDRNOTAVAIL at errnoException (net.js:614:11) at Array.0 (net.js:689:28) at EventEmitter._tickCallback (node.js:192:40)
¿Como puedo solucionar este problema?
¡Gracias!
¿Podría ser que ese nodo ya estaba ejecutando un servidor? Recibí un error similar y lo encontré al solucionar problemas. Cerrar el servidor de nodo anterior resolvió mi problema.
Estaba obteniendo el mismo error, y luego cambié el puerto y trabajé
Tuve este problema, y pensé que era un problema de puerto , pero resultó ser un problema de IP .
Tenía mi variable de entorno HOST
apuntando a una IP estática, y mi servidor de Nodo estaba escuchando esa dirección. En algún momento, cuando mi enrutador se recicló, comenzó a asignarle a mi máquina una nueva IP y comencé a recibir el error que publicó. Fue arreglado al cambiar la dirección que mi servidor estaba escuchando.
Mi configuración:
app.set(''port'', process.env.PORT || 3000);
app.set(''host'', process.env.HOST || ''0.0.0.0'');
http.createServer(app).listen(app.get(''port''), app.get(''host''), function(){
console.log("Express server listening on port " + app.get(''port''));
});
Asegúrese de que su host golpee su máquina. En cualquier caso, el loopback, como sugirió @miltonb, siempre debería funcionar:
app.set(''host'', ''127.0.0.1'');
La mayoría de las veces sería la dirección IP o el nombre de host. La razón es que el nodo js lo toma como el elemento clave para iniciar el servidor. si hay un conflicto o una dirección IP incorrecta, aparece con este error
Error: escucha EADDRNOTAVAIL
espero que esto ayude.
var express = require(''express'');
var app = express();
app.set(''port'', process.env.PORT || 3000);
app.set(''host'', process.env.HOST || ''localhost'');
app.listen(app.get(''port''), function(){
console.log(''Express server listening on port '' + app.get(''host'') + '':'' + app.get(''port''));
});
funciona para mi.
también es genérico para la depuración por localhost
y su ip local sin ningún cambio.
Para mí, tuve el mismo error, y cuando reviso mi configuración, encontré ese host=127.0.0.0
que genera un error porque debería ser 127.0.0.1
lugar de 127.0.0.0
Esto también ocurrirá mientras ''ip addr add i: p: v: 6'' esté aún en el limbo o algo así (recién ejecutado / ing), y la interfaz es, supongo, que no está totalmente preparada para escuchar y aún así agregar la nueva dirección ipv6.
Una suspensión execSync durante 2 segundos parece permitir escuchar no error con Error: escuchar EADDRNOTAVAIL.
Es realmente un error, creo que en NodeJS 7.4.0 en Ubuntu porque esto no ocurre con la creación de direcciones ipv4 en el instante antes de la conexión de uso / escucha.