O que significa o erro ELIFECYCLE Node.js?


211

O que significa o ELIFECYCLE?

Aqui está o código do meu aplicativo: https://gist.github.com/samholmes/388ca4552c5936b52c5d

Quando executo o comando 'blast-emails', ele será executado por um tempo até travar rapidamente com o erro:

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

O npm-debug.logarquivo também está incluído na essência.

Estou procurando uma das duas respostas: O que significa o ELIFECYCLE? (ou) Por que estou recebendo o erro no código do meu aplicativo?


Acabei de receber o mesmo erro do meu processo de webpack (não havia reiniciado em poucas horas e fiz uma alteração que interrompeu a compilação do webpack). Caso contrário, nunca vi o erro antes e reiniciar o processo resolveu o problema.
Ally

1
ps -ax | grep npm ..e matar os processos NPM trabalharam para mim
Buminda

Respostas:


62

Basicamente, está dizendo que falha ao gerar seu processo não devido à permissão, mas a um erro no seu script. Fonte

Você não tem nenhum problema ao executar NODE_ENV=production node app.js?


Não tenho problemas para executar o script. De fato, funciona bem. Eu recebo esse erro apenas ao executar 'blast-emails', que executa um loop async.eachSeries e envia e-mails usando o nodemailer e o transporte de mandrill que você pode ver no código-fonte. Poderia haver um problema com o nodemailer ou o transporte?
Sam

no emailer.js, existem referências a uma função 'erro', mas não consigo encontrá-la.
Pierre Inglebert

qual função no emailer.js?
Sam


A função de erro é definida abaixo nesse escopo: gist.github.com/samholmes/388ca4552c5936b52c5d#file-app-js-L81
Sam

43

Pode-se pensar que isso ocorre porque versões desatualizadas de npm e node, mas não é o caso.

Assim como Pierre Inglebert diz, se você olhar para a fonte, poderá ver que isso End of lifecyclesignifica que o programa parou inesperadamente . Isso pode ter vários motivos. Portanto, não é um erro de sintaxe e nem uma exceção / erro esperado.

O erro apareceu quando uma ferramenta diferente já estava usando a porta http (3000) definida nos scripts do meu nó. Ao executar o aplicativo do nó na porta 80, certifique-se de ter parado o servidor da web Apache (como exemplo).


2
O mesmo para mim, a porta foi usada por outro programa
stalk


1
No meu caso eu não percebi o Error: listen EADDRINUSE :::3000aviso
estellezg

1
O erro é realmente ambíguo se você estiver usando uma versão antiga do node / npm, pensei que precisava atualizar, em vez disso, simplesmente houve uma falha no download
Alex

13

Enquanto trabalhava em um tema do WordPress, recebi o mesmo ELIFECYCLEerro com resultados ligeiramente diferentes:

npm ERR! Darwin 14.5.0
npm ERR! argv "/usr/local/Cellar/node/7.6.0/bin/node" "/ usr / local / bin / npm" "install"
npm ERR! nó v7.6.0
npm ERR! npm v3.7.3
npm ERR! código ELIFECYCLE
npm ERR! foundationsix@1.0.0 postinstall: `instalação do bower && gulp build`
npm ERR! Status de saída 1
npm ERR! 
npm ERR! Falha no script de pós-instalação foundationsix@1.0.0 'bower install && gulp build'.
npm ERR! Verifique se você possui a versão mais recente do node.js e do npm instalada.
npm ERR! Se o fizer, provavelmente é um problema com o pacote foundationsix,
npm ERR! não com o próprio npm.
npm ERR! Diga ao autor que isso falha no seu sistema:
npm ERR! bower install && gulp build

Depois de tentar npm installmais uma vez com o mesmo resultado, tentei bower install. Quando isso foi bem-sucedido, tentei gulp builde também funcionou.

Tudo está funcionando bem agora. Não faço ideia por que executar cada comando funcionou separadamente quando &&falhou, mas talvez alguém ache essa resposta útil.


@ Matthew Read - Como você reformatou esse bloco de código? É uma melhoria definitiva, mas não tenho certeza de como fazê-lo ... Eu acho que costumava usar 3 ticks de volta, pressione 'enter' para uma nova linha e, em seguida, meu código (seguido de 'enter' e 3 ticks de volta para fechar o bloco de código), mas isso não parece funcionar mais para mim. Ponteiros?
adam-asdf

Se você clicar em "editar X horas / dias atrás" acima do meu nome, clique em "fonte", ele será exibido! Apenas uma tag de texto pré-formatada. A outra opção seria recuar cada linha por 4 espaços. O Stack Overflow não suporta a sintaxe de triplo backtick como GitHub / Slack / etc. - sua formatação acabou sendo interpretada como três blocos consecutivos de reticulação única, com o primeiro e o último completamente vazios (é por isso que a primeira linha foi muito menos acentuada e a última linha tinha um pouco de espaço destacado no final) .
Matthew Leia

No meu caso, esqueci de executar npm install(sou novo no node.js). Sua resposta me levou na direção certa. Obrigado.
27518 Kon Kon

13

No meu caso, foi por causa da pouca memória RAM, quando uma biblioteca de compactação de fotos não conseguiu processar fotos maiores.


1
Eu tenho o mesmo problema, é por causa da falta de memória.
Envil

2
Mesmo! Parece que o ELIFECYCLE errno 137 também pode ser causado por falta de memória. No meu caso, meu servidor tinha 1 GB de RAM. Atualizei para 2Gb e minha compilação foi aprovada.
Firze

1
Corri npm run watchsob o Docker e obtive o erro da pergunta. Quando aumentei os limites de memória e CPU do docker, o problema desapareceu.
Paul Basenko 4/03/19

5

Se você veio aqui como eu, depois de receber um erro semelhante ao tentar o guia React Getting Started , talvez queira saber que o problema pode ter sido causado por não ter instalado o Watchman. Faça o download aqui ou instale-o com o Homebrew with brew install watchmane tente novamente: https://facebook.github.io/watchman/docs/install.html

PS: Você pode querer fazer o brew updateprimeiro.


Obrigado ... tentando aprender como criar a reação de outra pessoa. O check-in nativo do github foi brutal. Tantas etapas de configuração incorretamente documentadas!
Dronz 23/10

1
@ Dronz Sim, aparentemente .. Não sei por que.
Magne

1
@Dronz Não tenho certeza. Eu precisava disso no meu Mac.
Magne #

1
Obrigado. Parece não ser necessário no Windows.
Dronz 29/10

1
Eu estava configurando um modelo pré-criado no WordPress para acompanhar a equipe de desenvolvimento, obtive o mesmo erro e alterar a linha cwd: parseInt(process.versions.node) < 8 ? process.cwd : process.cwd()suprimiu o erro, mas gerou outro ... brew updatefuncionou para mim.
shimanyi 27/11/18


4
em process._tickCallback (internal / process / next_tick.js: 10
4: 9)
npm ERR! código ELIFECYCLE
npm ERR! errno 1
npm ERR! Exemplo de ng-contact-manager@0.0.0: `node src / server / dat
a / seed-db.js`
npm ERR! Status de saída 1
npm ERR!
npm ERR! Falha no script de amostra ng-contact-manager@0.0.0.
npm ERR! Provavelmente não é um problema com o npm. Há lik
todas as saídas de registro adicionais acima.

npm ERR! Um log completo dessa execução pode ser encontrado em:

Eu tenho o mesmo problema aqui é como eu fui resolvido finalmente! o erro: meu erro no terminal quando executo npm run sample após corrigir meu nome de usuário e senha de conexão com o banco de dados Eu estava usando o mlab no meu banco de dados e no arquivo .env eu esqueço de colocar corretamente o nome de usuário e a senha. Quando eu corrigir, eu trabalho.

> ng-contact-manager@0.0.0 sample /Users/mohammedr.kemal/Downl
oads / Ex_Files_ANGULAR_API_AUTH / Arquivos de exercícios / Ch01 / 01_04 / start
> nó src / server / data / seed-db.js

conectado ao mongodb ...
conectado ao mongodb ...
2 registros inseridos.
fechando a conexão ...
feito.
12 registros inseridos.
fechando a conexão ...
feito.

Portanto, pode ser bom procurar qualquer conexão de dados que fizemos em nosso código, se tivermos.


3

Eu tive o mesmo erro depois de instalar novos pacotes ou atualizá-los:

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

Isso me ajudou a executar o comando de instalação mais uma vez ou algumas vezes. Depois disso, o erro desapareceu.


2

Eu tive esse problema quando estava executando dois projetos com a mesma configuração e já tinha um em execução. Isso significava que o outro projeto não poderia usar esse número de porta. Assim que parei o outro projeto em execução, não tive problemas.


1

No meu caso, foi um problema de permissão com o Linux, em vez de escrever:

npm run start

Eu tentei:

sudo npm run start

Em seguida, coloque sua senha de usuário sudo e pronto!


1

A solução do Windows é a mesma que a resposta do sudo do Linux. Execute o npm start (ou o que for) como administrador. Eu adicionei um novo módulo ao meu projeto. Trabalhou em algumas máquinas, mas em outras que estavam mais trancadas, nem tanto. Demorou um pouco para descobrir, mas o novo módulo precisava acessar "algo" que não estava disponível sem permissões de administrador.


0

Eu tinha o mesmo código de erro quando estava executando o npm run build dentro do contêiner do docker do nó.

Localmente, ele estava trabalhando enquanto estava dentro de um contêiner. Eu havia definido a opção para gerar erro quando há um aviso durante a compilação enquanto localmente não estava definido. Portanto, esse erro pode significar qualquer coisa relacionada à interrupção do processo que está sendo feito pelo NPM


0

No meu caso, gerei um erro semelhante ao copiar o projeto de outro diretório. alguns arquivos ocultos, como o crítico .babelrc, estavam ausentes. Então ahhh ... certifique-se de copiar todos os arquivos! :)


0

Esse problema também pode ocorrer quando você extrai o código do git e ainda não instalou os módulos de nó "npm install".


0

Para mim, foi uma declaração ternária:

Ele estava reclamando dessa linha em particular, sobre o ponto e vírgula:

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

Eu mudei para:

let num_coin = val.num_coin || 2;
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.