Creé la aplicación expressjs usando los siguientes comandos:
express -e folderName
npm install ejs --save
npm install
Cuando ejecuto la aplicación con:, node app.js
tengo los siguientes errores:
events.js:72
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE
at errnoException (net.js:884:11)
at Server._listen2 (net.js:1022:14)
at listen (net.js:1044:10)
at Server.listen (net.js:1110:5)
at Object.<anonymous> (folderName/app.js:33:24)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
¿Como arreglarlo?
Respuestas:
Había ejecutado otro servidor usando el mismo puerto como 8080.
Tal vez habías corrido
node app
en otro shell. Ciérrelo y vuelva a correr.Puede consultar el PUERTO no. está disponible o no está usando
Alternativamente, puede usar lsof :
fuente
rails server
...: |Obtenemos un error similar cuando a veces ejecutamos nuestra aplicación express. Tenemos que seguir lo mismo en ese caso. Necesitamos verificar si se está ejecutando en cualquier terminal. Si desea encontrar y eliminar el proceso, siga estos pasos:
O
Use un solo comando para cerrar todos los procesos de nodo en ejecución.
fuente
ps aux | grep node | awk '{print $2}' | xargs kill -9
killall -r node
(en Linux)Probablemente todavía se esté ejecutando una instancia. Esto lo arreglará.
Actualización: este comando solo funcionará en Linux / Ubuntu y Mac.
fuente
Si está en Linux, este problema también puede ocurrir si Nodejs no se está ejecutando como root.
Cambiar de esto:
A esto:
Simplemente me sucedió y ninguna de las otras sugerencias aquí lo arregló. Afortunadamente, recordé que el script funcionaba el otro día cuando se ejecutaba como root. ¡Espero que esto ayude a alguien!
Descargo de responsabilidad: esta probablemente no sea la mejor solución para un entorno de producción. Iniciar su servicio como root puede introducir algunos agujeros de seguridad en su servidor / aplicación. En mi caso, esta fue una solución para un servicio local, pero alentaría a otros a pasar más tiempo tratando de aislar la causa.
fuente
Esto se debe a que el puerto que está utilizando para ejecutar el script ya está en uso. Tienes que detener todos los demás nodos que están usando esa publicación. para eso, puede verificar todos los nodos por
O para el uso del proceso de nodo solo
ps -ef | grep node
Esto le dará la lista de todos los procesos de nodo con IDmatar todo el proceso de nodo
O para la identificación específica
sudo kill -9 id
fuente
Arreglé el error cambiando el puerto que era
y cambiado a:
fuente
El puerto que Node está intentando usar ya puede ser usado por otro programa. En mi caso fue ntop , que había instalado recientemente. Tuve que abrir http: // localhost: 3000 / en un navegador para darme cuenta. Aquí se proporciona otra forma de encontrar el proceso .
fuente
Si desea utilizar el mismo número de puerto, escriba
kill %
el terminal, que mata el proceso en segundo plano actual y libera el puerto para su uso posterior.fuente
Esto significa que su archivo se está ejecutando ahora. solo ingrese el siguiente código e intente nuevamente:
fuente
Cierre cualquier otro servidor de nodo que se esté ejecutando, incluso si están en otras ventanas de terminal o en puertos diferentes. Eso debería arreglar el problema.
fuente
Si ha intentado eliminar todas las instancias de nodo y otros servicios que escuchan en 3000 (el valor predeterminado utilizado por la configuración de esqueleto rápido) en vano, debe verificar para asegurarse de que su entorno no esté definiendo 'puerto' como algo inesperado. De lo contrario, es probable que obtenga el mismo error. En el archivo app.js de express skeleton, verás la línea 15:
fuente
Para solucionar esto, finalice o cierre el servidor que está ejecutando. Si está utilizando Eclipse IDE, siga esto,
Ejecutar> Depurar
Haga clic derecho en el proceso en ejecución y haga clic en Terminar .
fuente
events.js: 183 tiros er; // Evento de 'error' no controlado
También tuve el mismo tipo de problema e intenté de muchas maneras, pero finalmente obtuve esto, esto funciona bien:
Consulte este enlace para obtener más aclaraciones https://github.com/ionic-team/ionic-cli/issues/2922
fuente
En realidad, las teclas Ctrl + C no liberan el puerto utilizado por el proceso de nodo. Entonces hay este error. La resolución del problema fue usar el siguiente fragmento de código en server.js:
Esto funcionó para mí.
También puede buscar otras soluciones mencionadas en el cierre Graceful en NodeJS
fuente
Motivo de este error
Solución simple y rápida
En el sistema operativo Linux, por ejemplo, ha especificado 3000 como el puerto
lsof -i :3000
. Si algún proceso ya se está ejecutando en el puerto 3000, verá esta impresión en la consolaCopie el PID (ID de proceso) de la salida
Ejecutar
sudo kill -9 16615
(tienes que poner PID después de -9)fuente
En mi caso también tuve que correr
vagrant reload
. Incluso sin procesos de nodo que ejecutan mi aplicación express en mi máquina virtual, seguía recibiendo este error hasta que volví a cargar la caja vagabunda.fuente
Detenga el servicio que usa ese puerto.
fuente
En mi caso, el problema fue causado por olvidar llamar
next()
en una llamada al método expressjs 'use'.http://expressjs.com/guide/using-middleware.html
fuente
Esto funcionó para mí.
http://www.codingdefined.com/2015/09/how-to-solve-nodejs-error-listen.html
Simplemente cambie el número de puerto de las propiedades del Proyecto.
fuente
También puede cambiar el puerto de Gruntfile.js y ejecutarlo nuevamente.
fuente
Después de matar el mismo proceso varias veces y no poder localizar qué más se estaba ejecutando en el puerto 8000, me di cuenta de que estaba intentando ejecutar en el puerto 8000 dos veces:
Antes de:
Después:
fuente
Tuve el mismo problema y descubrí que todavía se estaba ejecutando un proceso de nodejs que había cancelado previamente con CTRL + C. El problema en Windows 10 es que Ctrl + C no mata con gracia nodejs. Abrí el administrador de tareas y eliminé el proceso manualmente. Las soluciones proporcionadas en GitHub no funcionaron para mí.
fuente
Si usa Windows, puede finalizar el proceso desde el administrador de tareas para node.js
fuente
Ninguna de las respuestas funcionó para mí.
Cuando reinicié mi computadora, pude poner en funcionamiento el servidor.
Mac
shutdown now -r
Linux
sudo shutdown now -r
fuente
-> verifique lo que se está ejecutando en el puerto 8080 o cualquier puerto que desee verificar
si algo se está ejecutando, puede cerrarlo o usar algún comando de matar para cerrarlo
fuente
Simple, simplemente verifique su terminal en Visual Studio Code Debido a que estaba ejecutando mi aplicación de nodo e hiberne mi computadora portátil y, a la mañana siguiente, enciendo mi computadora portátil nuevamente para el desarrollo de software. Luego ejecuto nuevamente el comando nodemon app.js Primero estaba ejecutándose desde la noche y el segundo ejecutaba mi último comando, por lo que dos mensajes de comando escuchan los mismos puertos, por eso está teniendo este problema. Simple Cierre un terminal o todos los terminales y luego ejecute su nodo app.js o nodemon app.js
fuente
El puerto que está escuchando ya está siendo escuchado por otro proceso.
Cuando me enfrenté a este error, eliminé el proceso con Windows PowerShell (porque usé Windows)
ps
y luego puede obtener una lista de procesosStop-process <Id>
pienso que es de ayuda para los usuarios de Windowsfuente
Me encontré con el mismo problema hoy y el puerto no fue utilizado. El siguiente enfoque ayudó:
fuente
SI está en Mac, entonces se trata de IP de x86_64-apple-darwin13.4.0. Si sigue errores, sería algo relacionado con x86_64-apple-darwin13.4.0. Añadir
127.0.0.1 x86_64-apple-darwin13.4.0
al archivo / etc / hosts . Entonces el problema se fue
fuente
Simplemente cambie su puerto, podría ser que su puerto actual esté en uso por iis o algún otro servidor.
fuente