¿Cómo resolver el “Error: escucha EADDRINUSE: dirección ya en uso”?

Como Resolver El Error Escucha Eaddrinuse Direccion Ya En Uso



Node.js es un entorno de ejecución que permite que el código escrito en lenguaje JavaScript se ejecute en la página web o en el servidor local. Es un entorno de un solo subproceso y tiene una naturaleza asíncrona. Ofrece varios módulos integrados y externos que se pueden utilizar para realizar diversas operaciones, como enviar solicitudes HTTP a través del servidor. Al interactuar con varios servidores locales, existe la posibilidad de que se produzcan múltiples errores que se resuelven siguiendo guías específicas.

Esta guía explica las posibles soluciones para 'escuche EADDRINUSE: dirección ya en uso' cubriendo las siguientes secciones:

¿Cómo resolver el “Error: escucha EADDRINUSE: dirección ya en uso”?

El ' Error: escuche EADDRINUSE: dirección ya en uso ”surge cuando más de una aplicación o tarea intenta acceder al mismo puerto. Este error puede surgir durante las fases de prueba o desarrollo. Por ejemplo, se generará el error mencionado anteriormente para una mejor comprensión:







constante expresarObj = requerir ( 'expresar' )
constante aplicación de demostración = expresarObj ( )
aplicación de demostración. conseguir ( '/' , ( solicitar, res ) => {
res. json ( {
nombre : 'Artículo de Linuxhint sobre CORS' ,
idioma : 'Nodo.js' ,
solicitud : 'corsApp' ,
origen : 'Origen cruzado' ,
software intermedio : 'CORS'
  } )
} )
aplicación de demostración. escuchar ( 8080 , ( ) => {
consola. registro ( `El servidor se inició 'http://localhost:8080/' ` )
} )
aplicación de demostración. escuchar ( 8080 , ( ) => {
consola. registro ( `El servidor se inició 'http://localhost:8080/' ` )
} )

El fragmento de código anterior funciona así:



  • Primero, importe el ' expresar 'módulo y almacenar su objeto en una nueva variable' expresarObj ”. Utilice esta variable como constructor para crear una nueva aplicación rápida llamada ' aplicación de demostración ”.
  • A continuación, cree una solicitud GET utilizando el botón ' conseguir() 'Método y configure la página de inicio como controlador raíz pasando' / ”como primer parámetro. El segundo parámetro es una función de devolución de llamada anónima que envía ' JSON ” datos como respuesta mediante la utilización del “ json() ' método.
  • Después de eso, haga que esa aplicación se ejecute en el mismo número de puerto de ' 8080 ' dos veces. Esta ejecución del mismo puerto dos veces genera el error mencionado.

El resultado generado después de la compilación del código anterior muestra la aparición del error 'Error: escuche EADDRINUSE: dirección ya en uso':







Existen principalmente dos soluciones para resolver el error que ocurrió en el resultado anterior: cambiar los números de puerto o detener uno de los procesos en ejecución. Pero también hay muchas otras soluciones que resuelven indirectamente el problema ' Error: escuche EADDRINUSE: dirección ya en uso ' error. Estas soluciones junto con demostraciones prácticas se detallan a continuación:

Solución 1: ejecutar procesos en diferentes puertos

La solución más recomendada para el error mencionado es identificar los números de puerto en los que se ejecutan ambos servicios, como en nuestro caso es “ 8080 ”. Luego, elija un servicio al azar y modifique su número de puerto para que los servicios escuchen en localhost pero con números de puerto diferentes. Nuestro código después de la modificación discutida se muestra a continuación:



constante expresarObj = requerir ( 'expresar' )
constante aplicación de demostración = expresarObj ( )
aplicación de demostración. conseguir ( '/' , ( solicitar, res ) => {
res. json ( {
nombre : 'Artículo de Linuxhint sobre CORS' ,
idioma : 'Nodo.js' ,
solicitud : 'corsApp' ,
origen : 'Origen cruzado' ,
software intermedio : 'CORS'
  } )
} )
aplicación de demostración. escuchar ( 8080 , ( ) => {
consola. registro ( `El servidor se inició 'http://localhost:8080/' ` )
} )
aplicación de demostración. escuchar ( 3000 , ( ) => {
consola. registro ( `El servidor se inició 'http://localhost:8080/' ` )
} )

El resultado generado después de ejecutar el código anterior muestra que ahora el ' Error: escuche EADDRINUSE: dirección ya en uso 'El problema está resuelto:

Solución 2: detener los procesos que se ejecutan en el mismo puerto

Otra forma de resolver el error 'escuchar EADDRINUSE: dirección ya en uso' es deteniendo los procesos que se ejecutan en el puerto específico que ya está en uso. Esto hará que el puerto esté inactivo al que puede acceder el desarrollador para realizar tareas específicas. Este proceso de parada se realiza con la ayuda de un módulo externo llamado ' puerto de muerte ”.

Por ejemplo, todos los procesos que se ejecutan en el número de puerto especificado ' 8080 'Van a ser asesinados usando el' puerto de muerte ”módulo. Hay dos formas de utilizar el módulo 'kill-port' y ambos enfoques se detallan a continuación:

Método 1: utilizar el módulo 'kill-port' después de la instalación

El ' puerto de muerte 'El módulo es un módulo externo de terceros y para utilizar este módulo dentro del proyecto node.js. Este módulo debe descargarse primero ejecutando el comando que se indica a continuación:

npm instalar matar - puerto - gramo

La siguiente figura muestra la finalización de la instalación del “ puerto de muerte ' variable:

Después de la instalación, el usuario puede cancelar los servicios para el número de puerto requerido. En nuestro caso, los servicios de número de puerto “ 8080 ”serán eliminados mediante el siguiente comando:

matar - puerto -- puerto 8080

El siguiente resultado confirma que todos los servicios para el puerto ' 8080 ' ha sido asesinado:

Método 2: utilizar el módulo 'kill-port' sin instalación

El ' puerto de muerte 'El módulo se puede utilizar sin pasar por el proceso de instalación mediante la utilización de un' npx ”corredor de paquete. Por ejemplo, el “ puerto de muerte 'El módulo se utiliza para eliminar dos puertos específicos utilizando el comando de ejecución del paquete 'npx' que se indica a continuación:

matar npx - puerto 8080 9000

El siguiente resultado muestra que los servicios para puertos específicos ' 9000 ' y ' 8080 ' ha sido asesinado:

Consejo adicional: desinstalación del módulo 'kill-port'

Para desinstalar el “ puerto de muerte ”Módulo globalmente desde el sistema, ejecute el siguiente comando:

npm desinstalar matar - puerto - gramo

Solución 3: finalice los servicios de Node.js en Windows

Si el 'Error: escuche EADDRINUSE: la dirección ya está en uso' aún persiste, elimine todos los mensajes en ejecución. nodo.js ”Servicios que utilizan el enfoque GUI o CLI.

Usando el enfoque CLI

Presione el ' Ventana 'Para abrir la barra de búsqueda e ingresar el' CMD ”Dentro del cuadro de búsqueda, a partir de los resultados generados. Luego, seleccione el botón ' Símbolo del sistema 'Aplicación y presione el botón' Ejecutar como administrador ' botón:

Al seleccionar la opción, aparecerá una nueva ventana de Símbolo de control. Para finalizar los servicios 'node.js' que se están ejecutando actualmente en segundo plano, ejecute el siguiente comando:

matar tareas / F / Nodo de mensajería instantánea. exe

El resultado generado muestra que los servicios 'node.js' han finalizado:

Usando el enfoque GUI

Para eliminar los servicios de Node.js en ejecución del sistema, abra el menú ' Administrador de tareas ”al presionar el botón “ Ctrl + Mayús + Esc ”Teclas inmediatamente. Después de abrir el 'Administrador de tareas', vaya al ' Detalles ' tipo, seleccione el ' nodo.exe 'Servicio, y presione el botón' Tarea final 'Botón que se encuentra en la dirección inferior derecha, como se muestra a continuación:

Se trata de resolver el 'Error: escucha EADDRINUSE: dirección ya en uso' en Node.js.

Conclusión

El 'Error: escucha EADDRINUSE: dirección ya en uso' surge cuando más de un servicio intenta utilizar un solo puerto al mismo tiempo. Para resolverlo, el usuario debe intentar usar un número de puerto diferente o eliminar los servicios que ya se están ejecutando en el número de puerto especificado usando el botón ' puerto de muerte ”módulo. Si el error aún no se resuelve, elimine todos los mensajes en ejecución ' nodo.js ”servicios del administrador de tareas y reinicie su aplicación. Esta guía ha ilustrado las posibles soluciones para resolver el problema 'Error: escuche EADDRINUSE: dirección ya en uso'.