What does the ELIFECYCLE Node.js error mean?
Asked Answered
B

18

242

What does ELIFECYCLE mean?

Here's my app code: https://gist.github.com/samholmes/388ca4552c5936b52c5d

When I run the 'blast-emails' command, it will run for a while until shortly crashing with the 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! [email protected] live: `NODE_ENV=production node app.js`
npm ERR! Exit status 137
npm ERR! 
npm ERR! Failed at the [email protected] 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

The npm-debug.log file is also included in the gist.

I'm looking for one of two answers: What does ELIFECYCLE mean? (or) Why am I getting the error in my application code?

Bottom answered 10/6, 2015 at 0:7 Comment(2)
Just received the same error from my webpack process (hadn't restarted in a few hours, and I made a change that broke the webpack build). Otherwise I've never seen the error before, and restarting the process resolved the issue.Wilbanks
ps -ax | grep npm ..and kill the npm processes worked for meHako
L
69

It's basically saying it fails to spawn your process not due to permission but to an error in your script. Source

You don't have any problem executing NODE_ENV=production node app.js ?

Lyndel answered 10/6, 2015 at 6:54 Comment(11)
I don't have any problems executing the script. In fact, it works fine. I only get this error when running 'blast-emails' which does an async.eachSeries loop and sends out emails using nodemailer and the mandrill transport at you can see in the source code. Could it be an issue with nodemailer or the transport?Bottom
in emailer.js, there are references to a 'error' function but i can't find it.Lyndel
which function in emailer.js?Bottom
this one for example : gist.github.com/samholmes/388ca4552c5936b52c5d#file-app-js-L57Lyndel
The error function is defined below within that scope: gist.github.com/samholmes/388ca4552c5936b52c5d#file-app-js-L81Bottom
Maybe the issue is that the command run in replicon is running for too long?Bottom
NPM spawn your process when you executes npm run.Lyndel
If the problem is with NPM, then why the delay before I get this error?Bottom
The problem is not with npm, your log says just that your process failed. The real cause must be above the log you paste.Lyndel
So, it must be the blast-emails command, maybe? gist.github.com/samholmes/388ca4552c5936b52c5d#file-app-js-L155 When running this command, it takes awhile to complete. It goes through the rows from the second query and sends out an email to each subscriber, continuously logging to whom it sent an email. So, that's what happens before I get the error (somewhere in the middle of this blast-emails command, it crashes).Bottom
I found a solution by running npm install. There was a missing software in my projectRatline
M
48

One might think this is because outdated versions of npm and node, but it's not the case.

Just as Pierre Inglebert says, if you look into the source you can see that End of lifecycle means the program unexpectedly stopped. This can have various reasons. So it's not a syntax error and not an expected exception/error.

The error appeared to me when a different tool was already using the http port (3000) defined in my node scripts. When you run your node app on port 80, make sure you have stopped Apache webserver (as an example).

Mutton answered 2/11, 2016 at 10:33 Comment(4)
Same for me, the port was used by another programTaryn
Then you can go to #39633167Fist
In my case I didn't notice the Error: listen EADDRINUSE :::3000 warningFist
The error is really ambiguous if you're using an old version of node/npm, I thought I had to upgrade, instead it was simply a download failedWilkins
K
26

In my case, it was because of low RAM memory, when a photo compression library was unable to process bigger photos.

Kilter answered 8/6, 2018 at 11:18 Comment(5)
I got the same problem, it's because of the memory shortage.Pupa
Same! It seems ELIFECYCLE errno 137 can be caused by running out of memory too. In my case my server had 1Gb RAM. Upgraded it to 2Gb and my build passed.Paganism
I ran npm run watch under Docker and got the error from the question. When I increased the memory and CPU limits of docker, the problem has gone.Swoosh
Had the same issue. Here's how I get rid of memory shortages : https://mcmap.net/q/119237/-composer-killed-while-updatingHandley
yep, out of memory problem was the issue here tooConvertiplane
M
14

While working on a WordPress theme, I got the same ELIFECYCLE error with slightly different output:

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! node v7.6.0
npm ERR! npm  v3.7.3
npm ERR! code ELIFECYCLE
npm ERR! [email protected] postinstall: `bower install && gulp build`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] postinstall script 'bower install && gulp build'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the foundationsix package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     bower install && gulp build

After trying npm install one more time with the same result, I tried bower install. When that was successful I tried gulp build and that also worked.

Everything is working just fine now. No idea why running each command separately worked when && failed but maybe someone else will find this answer useful.

Monsoon answered 24/2, 2017 at 2:25 Comment(3)
@Matthew Read - How did you reformat that code block? It's a definite improvement but I'm not sure how to do it myself...I think I used to use 3 back ticks, hit 'enter' for a new line, then my code (followed by 'enter' and 3 back ticks to close the code block), but that doesn't seem to work for me anymore. Pointers?Monsoon
If you click on the "edit X hours/days ago" above my name there, then click "source", it will show you! Just a preformatted text tag. The other option would have been to indent each line by 4 spaces. Stack Overflow doesn't support the triple-backtick syntax like GitHub/Slack/etc. -- your formatting ended up being interpreted as three consecutive single-backticked blocks, with the first and last being completely empty (which is why the first line was very slighted indented and the last line had a tiny bit of highlighted space at the end).Encarnacion
In my case, I forgot to run npm install (I'm new to node.js). Your answer led me in the right direction. Thanks.Anus
D
6

When running Webpack build I was getting similar error because node doesn't understand async await keywords on older versions. I added webpack babel-plugin-transform-async-to-generator and it was solved. This replaces them with promises.

Durno answered 21/11, 2017 at 6:46 Comment(0)
P
6

If you came here like I did, after receiving a similar error when trying the React Getting Started guide, you might like to know that the problem could have been caused by not having installed Watchman. Download it here, or install it with Homebrew with brew install watchman and try again: https://facebook.github.io/watchman/docs/install.html

PS: You might want to do a brew update first.

Pris answered 17/1, 2018 at 16:21 Comment(7)
Thanks... trying to learn just how to build someone else's react.native github checkin has been brutal. So many inaccurately documented setup steps!Jennefer
Is Watchman needed? It wasn't mentioned in the React Native setup instructions.Jennefer
@Jennefer Yeah, apparently.. Don't know why.Pris
Even on Windows? I thought Watchman was just something to help install things that's recommended for setting up React Native on Mac?Jennefer
@Jennefer Not sure. I needed it on my Mac.Pris
Thanks. It seems not to be needed on Windows.Jennefer
I was configuring a pre-built template in WordPress to pick up with the development team, got the same error and changing the line cwd: parseInt(process.versions.node) < 8 ? process.cwd : process.cwd() suppressed the error but generated another one ... brew update worked for me.Rennold
B
5
at process._tickCallback (internal/process/next_tick.js:10
4:9)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] sample: `node src/server/dat
a/seed-db.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] sample script.
npm ERR! This is probably not a problem with npm. There is lik
ely additional logging output above.

npm ERR! A complete log of this run can be found in:

I have the same issue here is how I got solved finally! the error: my error from the terminal when i run npm run sample after correcting my database connection username and password I was using mlab for my database and under the file .env i forget to properly put the user name and password. When I correct that I works.

> [email protected] sample /Users/mohammedr.kemal/Downl
oads/Ex_Files_ANGULAR_API_AUTH/Exercise Files/Ch01/01_04/start
> node src/server/data/seed-db.js

connected to mongodb...
connected to mongodb...
2 records inserted.
closing connection...
done.
12 records inserted.
closing connection...
done.

So it might be good to look any data connection we made in our code if we have.

Bleier answered 13/8, 2017 at 16:43 Comment(0)
I
4

I had the same error after I installed new packages or updated them:

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

It helped me to run installation command once again or a couple of times. After that, the error disappeared.

Interested answered 4/2, 2018 at 19:36 Comment(0)
R
3

I had this issue when I was running two projects that had the same set up and I already had one running. This meant that the other project couldn't use that port number. As soon as I stopped the other project running I had no issues.

Ringtail answered 4/12, 2018 at 13:55 Comment(0)
C
2

This issue can also occur when you pull code from git and not yet installed node modules "npm install".

Colan answered 11/9, 2019 at 17:45 Comment(0)
L
1

The Windows solution is the same as the Linux sudo answer. Run the npm start (or whatever) as Administrator. I had added a new module to my project. Worked on some machines but on others that were more locked down, not so much. Took a while to figure it out but the new module needed access to "something" that wasn't available without administrator permissions.

Lethargic answered 13/5, 2020 at 20:5 Comment(0)
P
1

First, you will have to remove the npm cache and upgrade to the latest version of the node and npm will resolve the issue.

sudo npm cache clean -f

sudo npm install -g n install n 

sudo n stable 

The first command will force clean the npm package manager's cache, After the second and third commands, a stable version of the node and npm will be installed. then you can execute npm i and npm run build for creating an optimized production build.

This solution worked for the same error on the npm run build command in nextjs.

Perfectionist answered 10/7, 2021 at 8:43 Comment(0)
C
0

I had the same error code when I was running npm run build inside node docker container.

Locally it was working while inside a container I had set option to throw error when there is a warning during compilation while locally it wasn't set. So this error can mean anything that is connected with stopping the process being done by NPM

Colley answered 14/2, 2019 at 9:48 Comment(0)
A
0

In my case I generated a similar error when I copied the project over from another directory. some hidden files, like the critical .babelrc, were missing. SO ahhh... make sure you copy all the files! :)

Alderson answered 11/8, 2019 at 17:18 Comment(0)
M
0

For me it was a ternary statement:

It was complaining about this line in particular, about the semicolon:

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

I changed it to:

let num_coin = val.num_coin || 2;
Mountaintop answered 8/5, 2020 at 6:53 Comment(1)
your ternary is incorrect, instead of || you need a colon: let num_coin = val.num_coin ? val.num_coin : 2; that being said, since you're just checking for truthyness of the val.num_coin, the second option is more conciseGraehme
T
0

Likewise, I saw this error as a result of too little RAM. I cranked up the RAM on the VM and the error disappeared.

Tuneless answered 21/12, 2020 at 16:51 Comment(1)
You might need to check your question again. It sems the first part of your question is cut off.Hollands
L
0

I found the solution here - https://javahowtos.com/guides/124-docker/418-npm-exit-status-137-when-building-a-docker-image.html

It says - The cause of this specific npm error status usually means that Docker is going out of memory. So, when this happens, the Linux kernel just kills the process.

Latoyalatoye answered 2/4, 2021 at 3:45 Comment(1)
Hi, the problem described here is not directly associated with docker, but your findings can be helpful for people encountering this issue while working with dockerIngeborgingelbert
L
0

if you are running on ubuntu, please check your nodejs version. please update the version to the latest and clear the cache and reinstall the modules (npm install) and build.

or otherwise

please upgrade your RAM size and try again. it'll work sure.

Loralorain answered 24/4, 2021 at 14:44 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.