Che cosa significa l'errore ELIFECYCLE Node.js?


212

Cosa significa ELIFECYCLE?

Ecco il mio codice app: https://gist.github.com/samholmes/388ca4552c5936b52c5d

Quando eseguo il comando 'blast-emails', verrà eseguito per un po 'fino a quando non si blocca brevemente con l'errore:

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

Il npm-debug.logfile è anche incluso nell'essenziale.

Sto cercando una delle due risposte: cosa significa ELIFECYCLE? (o) Perché visualizzo l'errore nel mio codice dell'applicazione?


Ho appena ricevuto lo stesso errore dal mio processo di webpack (non avevo riavviato da alcune ore e ho fatto una modifica che ha interrotto la creazione del webpack). Altrimenti non ho mai visto l'errore prima e il riavvio del processo ha risolto il problema.
Alleato

1
ps -ax | grep npm ..e uccidere i processi npm ha funzionato per me
Buminda,

Risposte:


62

Fondamentalmente sta dicendo che non riesce a spawnare il processo non a causa dell'autorizzazione ma di un errore nel tuo script. fonte

Non hai problemi nell'esecuzione NODE_ENV=production node app.js?


Non ho problemi nell'esecuzione dello script. In effetti, funziona benissimo. Ricevo questo errore solo quando eseguo 'blast-emails' che esegue un ciclo async.eachSeries e invia e-mail usando nodemailer e il trasporto mandrill che puoi vedere nel codice sorgente. Potrebbe essere un problema con nodemailer o il trasporto?
Sam,

in emailer.js ci sono riferimenti a una funzione di "errore" ma non riesco a trovarla.
Pierre Inglebert,

quale funzione in emailer.js?
Sam,


La funzione di errore è definita di seguito nell'ambito di tale ambito: gist.github.com/samholmes/388ca4552c5936b52c5d#file-app-js-L81
Sam

43

Si potrebbe pensare che ciò sia dovuto a versioni obsolete di npm e node, ma non è così.

Proprio come dice Pierre Inglebert, se guardi alla fonte puoi vedere che End of lifecyclesignifica che il programma si è fermato inaspettatamente . Questo può avere vari motivi. Quindi non è un errore di sintassi e non un'eccezione / errore previsto.

L'errore mi è apparso quando un altro strumento stava già utilizzando la porta http (3000) definita negli script del mio nodo. Quando esegui l'app nodo sulla porta 80, assicurati di aver arrestato il server web Apache (come esempio).


2
Lo stesso per me, il porto è stato utilizzato da un altro programma
stalk


1
Nel mio caso non ho notato l' Error: listen EADDRINUSE :::3000avvertimento
estellezg

1
L'errore è davvero ambiguo se stai usando una vecchia versione di node / npm, pensavo di dover aggiornare, invece è stato semplicemente un download fallito
Alex

13

Mentre lavoravo su un tema WordPress, ho avuto lo stesso ELIFECYCLEerrore con output leggermente diverso:

npm ERR! Darwin 14.5.0
npm ERR! argv "/usr/local/Cellar/node/7.6.0/bin/node" "/ usr / local / bin / npm" "installa"
npm ERR! nodo v7.6.0
npm ERR! npm v3.7.3
npm ERR! codice ELIFECYCLE
npm ERR! foundationsix@1.0.0 postinstall: `bower install && gulp build`
npm ERR! Stato di uscita 1
npm ERR! 
npm ERR! Errore nello script postinstall di foundationsix@1.0.0 'bower install && gulp build'.
npm ERR! Assicurati di avere installato l'ultima versione di node.js e npm.
npm ERR! Se lo fai, questo è molto probabilmente un problema con il pacchetto foundationsix,
npm ERR! non con npm stesso.
npm ERR! Di 'all'autore che questo fallisce sul tuo sistema:
npm ERR! bower install && gulp build

Dopo aver provato ancora npm installuna volta con lo stesso risultato, ho provato bower install. Quando questo ebbe successo, ci provai gulp builde funzionò anche.

Ora funziona tutto bene. Non ho idea del perché l'esecuzione di ciascun comando abbia funzionato separatamente in caso di &&errore, ma forse qualcun altro troverà utile questa risposta.


@Matthew Read - Come hai riformattato quel blocco di codice? È un netto miglioramento, ma non sono sicuro di come farlo da solo ... Penso di usare 3 back tick, premere "enter" per una nuova riga, quindi il mio codice (seguito da "enter" e 3 back tick per chiudere il blocco di codice), ma non sembra funzionare più per me. Puntatori?
adam-asdf

Se fai clic su "modifica X ore / giorni fa" sopra il mio nome lì, quindi fai clic su "fonte", ti mostrerà! Solo un tag di testo preformattato. L'altra opzione sarebbe stata quella di indentare ciascuna riga di 4 spazi. Stack Overflow non supporta la sintassi a triplo backtick come GitHub / Slack / etc. - la tua formattazione è stata interpretata come tre blocchi consecutivi con back-back, con il primo e l'ultimo completamente vuoti (motivo per cui la prima riga era rientrata in modo molto lieve e l'ultima riga aveva un po 'di spazio evidenziato alla fine) .
Matteo Leggi il

Nel mio caso, ho dimenticato di eseguire npm install(sono nuovo su node.js). La tua risposta mi ha portato nella giusta direzione. Grazie.
Kon

13

Nel mio caso, era a causa della memoria RAM ridotta, quando una libreria di compressione delle foto non era in grado di elaborare foto più grandi.


1
Ho avuto lo stesso problema, è a causa della carenza di memoria.
Envil,

2
Stesso! Sembra che ELIFECYCLE errno 137 possa essere causato anche dall'esaurimento della memoria. Nel mio caso il mio server aveva 1 GB di RAM. Aggiornato a 2Gb e la mia build è passata.
Firze,

1
Ho corso npm run watchsotto Docker e ho ricevuto l'errore dalla domanda. Quando ho aumentato i limiti di memoria e CPU della finestra mobile, il problema è andato.
Paul Basenko

5

Se sei arrivato qui come ho fatto io, dopo aver ricevuto un errore simile quando provavi la guida di React Getting Started , potresti sapere che il problema potrebbe essere stato causato dal fatto di non aver installato Watchman. Scaricalo qui o installalo con Homebrew con brew install watchmane riprova: https://facebook.github.io/watchman/docs/install.html

PS: potresti voler fare un brew updateprimo.


Grazie ... cercare di imparare come costruire il check-in nativo di Github di qualcun altro è stato brutale. Così tanti passaggi di installazione documentati in modo impreciso!
Dronz,

1
@Dronz Sì, a quanto pare .. Non so perché.
Magne,

1
@Dronz Non sono sicuro. Ne avevo bisogno sul mio Mac.
Magne,

1
Grazie. Sembra non essere necessario su Windows.
Dronz,

1
Stavo configurando un modello pre-costruito in WordPress per raccogliere con il team di sviluppo, ho ottenuto lo stesso errore e cambiando la linea ho cwd: parseInt(process.versions.node) < 8 ? process.cwd : process.cwd()eliminato l'errore ma ne brew updateho generato un altro ... ha funzionato per me.
shimanyi,


4
at process._tickCallback (internal / process / next_tick.js: 10
4: 9)
npm ERR! codice ELIFECYCLE
npm ERR! errno 1
npm ERR! Esempio ng-contact-manager@0.0.0: `node src / server / dat
un / seme db.js`
npm ERR! Stato di uscita 1
npm ERR!
npm ERR! Errore nello script di esempio ng-contact-manager@0.0.0.
npm ERR! Questo probabilmente non è un problema con npm. C'è simpatia
ely output di registrazione aggiuntivo sopra.

npm ERR! Un registro completo di questa corsa è disponibile in:

Ho lo stesso problema qui è come mi sono risolto finalmente! l'errore: il mio errore dal terminale quando corro npm run sample dopo aver corretto il nome utente e la password della connessione al database che stavo usando mlab per il mio database e sotto il file .env ho dimenticato di inserire correttamente il nome utente e la password. Quando correggo che lavoro.

> ng-contact-manager@0.0.0 sample /Users/mohammedr.kemal/Downl
oads / Ex_Files_ANGULAR_API_AUTH / File di esercizi / Ch01 / 01_04 / start
> nodo src / server / data / seed-db.js

collegato a mongodb ...
collegato a mongodb ...
2 record inseriti.
chiusura connessione ...
fatto.
12 record inseriti.
chiusura connessione ...
fatto.

Quindi potrebbe essere utile cercare qualsiasi connessione dati creata nel nostro codice, se presente.


3

Ho avuto lo stesso errore dopo aver installato i nuovi pacchetti o averli aggiornati:

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

Mi ha aiutato a eseguire il comando di installazione ancora una volta o un paio di volte. Successivamente, l'errore è scomparso.


2

Ho avuto questo problema quando stavo eseguendo due progetti che avevano lo stesso set up e ne avevo già uno in esecuzione. Ciò significava che l'altro progetto non poteva usare quel numero di porta. Non appena ho fermato l'altro progetto in corso non ho avuto problemi.


1

Nel mio caso si è trattato di un problema di autorizzazione con Linux, invece di scrivere:

npm run start

Provai:

sudo npm run start

Quindi inserisci la tua password utente sudo e sei a posto!


1

La soluzione Windows è la stessa della risposta sudo Linux. Esegui npm start (o qualsiasi altra cosa) come amministratore. Avevo aggiunto un nuovo modulo al mio progetto. Ha funzionato su alcune macchine ma su altre più bloccate, non così tanto. Ci è voluto un po 'per capirlo, ma il nuovo modulo aveva bisogno di accedere a "qualcosa" che non era disponibile senza le autorizzazioni di amministratore.


0

Ho avuto lo stesso codice di errore quando stavo eseguendo npm run build all'interno del contenitore finestra mobile nodo.

A livello locale funzionava mentre all'interno di un contenitore avevo impostato l'opzione per generare un errore quando c'era un avviso durante la compilazione mentre a livello locale non era impostato. Quindi questo errore può significare tutto ciò che è connesso con l'interruzione del processo da parte di NPM


0

Nel mio caso ho generato un errore simile quando ho copiato il progetto da un'altra directory. mancavano alcuni file nascosti, come il critico .babelrc. Quindi ahhh ... assicurati di copiare tutti i file! :)


0

Questo problema può verificarsi anche quando si estrae il codice da git e i moduli di nodo "npm install" non ancora installati.


0

Per me è stata una dichiarazione ternaria:

Si lamentava in particolare di questa riga, del punto e virgola:

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

L'ho cambiato in:

let num_coin = val.num_coin || 2;
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.