¿Qué significa el error ELIFECYCLE Node.js?


212

¿Qué significa ELIFECYCLE?

Aquí está mi código de aplicación: https://gist.github.com/samholmes/388ca4552c5936b52c5d

Cuando ejecuto el comando 'blast-emails', se ejecutará por un tiempo hasta que falle brevemente con el error:

npm ERR! Linux 3.2.0-4-amd64
npm ERR! argv "/root/.nvm/versions/io.js/v1.6.1/bin/iojs" "/root/.nvm/versions/io.js/v1.6.1/bin/npm" "run" "live"
npm ERR! node v1.6.1
npm ERR! npm  v2.7.1
npm ERR! code ELIFECYCLE
npm ERR! emailer@0.0.0 live: `NODE_ENV=production node app.js`
npm ERR! Exit status 137
npm ERR! 
npm ERR! Failed at the emailer@0.0.0 live script 'NODE_ENV=production node app.js'.
npm ERR! This is most likely a problem with the emailer package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     NODE_ENV=production node app.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls emailer
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /apps/emailer/npm-debug.log

El npm-debug.logarchivo también se incluye en la esencia.

Estoy buscando una de dos respuestas: ¿Qué significa ELIFECYCLE? (o) ¿Por qué recibo el error en el código de mi aplicación?


Acabo de recibir el mismo error de mi proceso de paquete web (no había reiniciado en unas pocas horas, e hice un cambio que rompió la compilación del paquete web). De lo contrario, nunca he visto el error antes, y reiniciar el proceso resolvió el problema.
— Ally

1
ps -ax | grep npm ... y matar los procesos npm funcionó para mí
— Buminda

Respuestas:


62

Básicamente dice que no puede generar su proceso no debido a un permiso sino a un error en su secuencia de comandos. Fuente

¿No tienes problemas para ejecutar NODE_ENV=production node app.js?


No tengo ningún problema al ejecutar el script. De hecho, funciona bien. Solo recibo este error cuando ejecuto 'blast-emails' que realiza un bucle async.eachSeries y envía correos electrónicos utilizando nodemailer y el transporte de mandril en el código fuente. ¿Podría ser un problema con nodemailer o el transporte?
— Sam

en emailer.js, hay referencias a una función 'error' pero no puedo encontrarla.
— Pierre Inglebert

¿Qué función en emailer.js?
— Sam


La función de error se define a continuación dentro de ese alcance: gist.github.com/samholmes/388ca4552c5936b52c5d#file-app-js-L81
— Sam

43

Uno podría pensar que esto se debe a versiones obsoletas de npm y node, pero no es el caso.

Tal como dice Pierre Inglebert, si observa la fuente puede ver que End of lifecyclesignifica que el programa se detuvo inesperadamente . Esto puede tener varias razones. Por lo tanto, no es un error de sintaxis ni una excepción / error esperado.

El error se me apareció cuando una herramienta diferente ya estaba usando el puerto http (3000) definido en mis scripts de nodo. Cuando ejecute su aplicación de nodo en el puerto 80, asegúrese de haber detenido el servidor web Apache (como ejemplo).


2
Lo mismo para mí, el puerto fue utilizado por otro programa
— acecho el


1
En mi caso, no noté la Error: listen EADDRINUSE :::3000advertencia
— estellezg

1
El error es realmente ambiguo si está utilizando una versión anterior de nodo / npm, pensé que tenía que actualizar, en lugar de eso fue simplemente una descarga fallida
— Alex

13

Mientras trabajaba en un tema de WordPress, recibí el mismo ELIFECYCLEerror con una salida ligeramente diferente:

npm ERR! Darwin 14.5.0
npm ERR! argv "/usr/local/Cellar/node/7.6.0/bin/node" "/ usr / local / bin / npm" "instalar"
npm ERR! nodo v7.6.0
npm ERR! npm v3.7.3
npm ERR! código ELIFECYCLE
npm ERR! foundationsix@1.0.0 postinstall: `bower install && gulp build`
npm ERR! Estado de salida 1
npm ERR! 
npm ERR! Error en el script de postinstall foundationsix@1.0.0 'bower install && gulp build'.
npm ERR! Asegúrese de tener instalada la última versión de node.js y npm.
npm ERR! Si lo hace, es muy probable que sea un problema con el paquete foundationsix,
npm ERR! no con npm en sí.
npm ERR! Dígale al autor que esto falla en su sistema:
npm ERR! bower install && gulp build

Después de intentarlo npm installuna vez más con el mismo resultado, lo intenté bower install. Cuando eso tuvo éxito lo intenté gulp buildy eso también funcionó.

Todo está funcionando bien ahora. No tengo idea por qué ejecutar cada comando por separado funcionó cuando &&falló, pero tal vez alguien más encuentre útil esta respuesta.


@Matthew Read - ¿Cómo reformateaste ese bloque de código? Es una mejora definitiva, pero no estoy seguro de cómo hacerlo yo mismo ... Creo que solía usar 3 ticks posteriores, presionar 'enter' para una nueva línea, luego mi código (seguido de 'enter' y 3 ticks posteriores para cerrar el bloque de código), pero eso ya no parece funcionar para mí. Punteros?
— adam-asdf

Si hace clic en "editar X horas / días atrás" encima de mi nombre allí, luego haga clic en "fuente", ¡se lo mostrará! Solo una etiqueta de texto preformateada. La otra opción hubiera sido sangrar cada línea por 4 espacios. Stack Overflow no admite la sintaxis de triple retroceso como GitHub / Slack / etc. - su formato terminó siendo interpretado como tres bloques consecutivos de un solo clic, con el primero y el último completamente vacíos (es por eso que la primera línea tenía una sangría muy leve y la última línea tenía un poco de espacio resaltado al final) .
— Mateo leyó el

En mi caso, olvidé ejecutar npm install(soy nuevo en node.js). Tu respuesta me llevó en la dirección correcta. Gracias.
— Kon

13

En mi caso, fue debido a la poca memoria RAM, cuando una biblioteca de compresión de fotos no pudo procesar fotos más grandes.


1
Tengo el mismo problema, es por la escasez de memoria.
— Envil

2
¡Mismo! Parece que ELIFECYCLE errno 137 puede ser causado por quedarse sin memoria también. En mi caso, mi servidor tenía 1 Gb de RAM. Lo actualicé a 2Gb y mi versión pasó.
— Firze

1
Corrí npm run watchbajo Docker y obtuve el error de la pregunta. Cuando aumenté los límites de memoria y CPU de Docker, el problema desapareció.
— Paul Basenko

5

Si vino aquí como lo hice yo, después de recibir un error similar al probar la guía de inicio de React , le gustaría saber que el problema podría haber sido causado por no haber instalado Watchman. Descárguelo aquí o instálelo con Homebrew brew install watchmane intente nuevamente: https://facebook.github.io/watchman/docs/install.html

PD: es posible que desee hacer una brew updateprimera.


Gracias ... tratando de aprender cómo construir la reacción de otra persona. El registro original de Github ha sido brutal. ¡Tantos pasos de configuración incorrectamente documentados!
— Dronz

1
@Dronz Sí, aparentemente ... No sé por qué.
— Magne

1
@Dronz No estoy seguro. Lo necesitaba en mi Mac.
— Magne

1
Gracias. Parece que no es necesario en Windows.
— Dronz

1
Estaba configurando una plantilla precompilada en WordPress para recoger con el equipo de desarrollo, obtuve el mismo error y cambiar la línea cwd: parseInt(process.versions.node) < 8 ? process.cwd : process.cwd()eliminó el error pero generó otro ... brew updatefuncionó para mí.
— shimanyi


4
en process._tickCallback (internal / process / next_tick.js: 10
4: 9)
npm ERR! código ELIFECYCLE
npm ERR! errno 1
npm ERR! ng-contact-manager@0.0.0 muestra: `nodo src / server / dat
a / seed-db.js`
npm ERR! Estado de salida 1
npm ERR!
npm ERR! Falló en el script de muestra ng-contact-manager@0.0.0.
npm ERR! Esto probablemente no sea un problema con npm. Hay lik
Salida de registro adicional anterior.

npm ERR! Puede encontrar un registro completo de esta ejecución en:

¡Tengo el mismo problema aquí es cómo finalmente me resolví! el error: mi error del terminal cuando ejecuto npm run sample después de corregir mi nombre de usuario y contraseña de conexión a la base de datos que estaba usando mlab para mi base de datos y bajo el archivo .env olvido poner correctamente el nombre de usuario y la contraseña. Cuando corrijo eso, trabajo.

> ng-contact-manager@0.0.0 muestra /Users/mohammedr.kemal/Downl
oads / Ex_Files_ANGULAR_API_AUTH / Archivos de ejercicio / Ch01 / 01_04 / start
> nodo src / server / data / seed-db.js

conectado a mongodb ...
conectado a mongodb ...
2 registros insertados.
conexión de cierre ...
hecho.
12 registros insertados.
conexión de cierre ...
hecho.

Por lo tanto, podría ser bueno mirar cualquier conexión de datos que hayamos hecho en nuestro código si es que la tenemos.


3

Tuve el mismo error después de instalar nuevos paquetes o actualizarlos:

...
npm ERR! code ELIFECYCLE
npm ERR! errno 1
...

Me ayudó a ejecutar el comando de instalación una vez más o un par de veces. Después de eso, el error desapareció.


2

Tuve este problema cuando estaba ejecutando dos proyectos que tenían la misma configuración y ya tenía uno en ejecución. Esto significaba que el otro proyecto no podía usar ese número de puerto. Tan pronto como detuve el otro proyecto en ejecución, no tuve problemas.


1

En mi caso, fue un problema de permiso con Linux, en lugar de escribir:

npm run start

Lo intenté:

sudo npm run start

¡Luego ingrese su contraseña de usuario de sudo y listo!


1

La solución de Windows es la misma que la respuesta de sudo de Linux. Ejecute el inicio npm (o lo que sea) como Administrador. Había agregado un nuevo módulo a mi proyecto. Trabajó en algunas máquinas pero en otras que estaban más bloqueadas, no tanto. Tomó un tiempo resolverlo, pero el nuevo módulo necesitaba acceso a "algo" que no estaba disponible sin permisos de administrador.


0

Tuve el mismo código de error cuando estaba ejecutando npm run build dentro del nodo docker container.

Localmente funcionaba mientras estaba dentro de un contenedor. Establecí la opción de lanzar un error cuando hay una advertencia durante la compilación mientras que localmente no estaba configurado. Por lo tanto, este error puede significar cualquier cosa que esté relacionada con la detención del proceso realizado por NPM


0

En mi caso, generé un error similar cuando copié el proyecto desde otro directorio. faltaban algunos archivos ocultos, como el .babelrc crítico. Así que ahhh ... ¡asegúrate de copiar todos los archivos! :)


0

Este problema también puede ocurrir cuando extrae el código de git y aún no instaló los módulos de nodo "npm install".


0

Para mí fue una declaración ternaria:

Se quejaba de esta línea en particular, del punto y coma:

let num_coin = val.num_coin ? val.num_coin || 2;

Lo cambié a:

let num_coin = val.num_coin || 2;
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.