Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

node js Exit status 8, error code 0 running on mac

Following this guide i have hit an error but not sure what the issue is.

I managed to get to the end of step 2 no problem, I restarted the server npm start. Then I had a bit of a poke around with the jade files, ran the start again and it moaned whilst putting very little in the logs. Before posting on here I deleted the entire folder and started again, but now the npm server won't start with even the basic files created by express.

When I run: npm install -g express just as the local user i get errors telling me to run as root. So express is installed as root, however npm install -g express-generator ran fine as local user.

So with express and express generator installed I can now create an express project (logged in as local user, not root, project name... noders):

express noders

Now npm install to get all the dependencies:

npm install

So in theory I should now be able to start the node js server...

npm start

But the result is:

Janines-MacBook-Pro:noders janinenitz$ npm start

> [email protected] start /Users/janinenitz/node/noders
> node ./bin/www


events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: listen EADDRINUSE
    at errnoException (net.js:905:11)
    at Server._listen2 (net.js:1043:14)
    at listen (net.js:1065:10)
    at Server.listen (net.js:1139:5)
    at Function.app.listen (/Users/janinenitz/node/noders/node_modules/express/lib/application.js:556:24)
    at Object.<anonymous> (/Users/janinenitz/node/noders/bin/www:7:18)
    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)

npm ERR! [email protected] start: `node ./bin/www`
npm ERR! Exit status 8
npm ERR! 
npm ERR! Failed at the [email protected] start script.
npm ERR! This is most likely a problem with the noders package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node ./bin/www
npm ERR! You can get their info via:
npm ERR!     npm owner ls noders
npm ERR! There is likely additional logging output above.
npm ERR! System Darwin 14.0.0
npm ERR! command "node" "/usr/local/bin/npm" "start"
npm ERR! cwd /Users/janinenitz/node/noders
npm ERR! node -v v0.10.35
npm ERR! npm -v 1.4.28
npm ERR! code ELIFECYCLE
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/janinenitz/node/noders/npm-debug.log
npm ERR! not ok code 0

And the log file:

0 info it worked if it ends with ok
1 verbose cli [ 'node', '/usr/local/bin/npm', 'start' ]
2 info using [email protected]
3 info using [email protected]
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info prestart [email protected]
6 info start [email protected]
7 verbose unsafe-perm in lifecycle true
8 info [email protected] Failed to exec start script
9 error [email protected] start: `node ./bin/www`
9 error Exit status 8
10 error Failed at the [email protected] start script.
10 error This is most likely a problem with the noders package,
10 error not with npm itself.
10 error Tell the author that this fails on your system:
10 error     node ./bin/www
10 error You can get their info via:
10 error     npm owner ls noders
10 error There is likely additional logging output above.
11 error System Darwin 14.0.0
12 error command "node" "/usr/local/bin/npm" "start"
13 error cwd /Users/janinenitz/node/noders
14 error node -v v0.10.35
15 error npm -v 1.4.28
16 error code ELIFECYCLE
17 verbose exit [ 1, true ]

After reading a few other posts I stopped the node server npm stop before starting again hoping for no collisions in port numbers but i get the same.

When I run as root I get the exact same result.

Does anyone have any ideas? Does each site you install with node hog a port number and require removing or something?


When running lsof -i this is the result (after closing web browsers):

COMMAND   PID       USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
UserEvent 201 janinenitz    4u  IPv4 0x45000000008e2c77      0t0  UDP *:*
SystemUIS 209 janinenitz   23u  IPv4 0x45000000478e706f      0t0  UDP *:53884
SystemUIS 209 janinenitz   25u  IPv4 0x00000000478e6e17      0t0  UDP *:*
sharingd  221 janinenitz   12u  IPv4 0x450000004711d70f      0t0  UDP *:*
SpotifyWe 274 janinenitz    6u  IPv4 0x4500000048000000      0t0  TCP localhost:4370 (LISTEN)
SpotifyWe 274 janinenitz    7u  IPv4 0x456d000048b19947      0t0  TCP localhost:4380 (LISTEN)
WiFiAgent 278 janinenitz   16u  IPv4 0x4560000047000000      0t0  UDP *:*

With no sign of anything listening on port 3000 (this is what i was previously getting a defualt page from with the tutorial mentioned above) I restart npm and still get the same result as above:

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: listen EADDRINUSE
    at errnoException (net.js:905:11)
    at Server._listen2 (net.js:1043:14)
    at listen (net.js:1065:10)
    at Server.listen (net.js:1139:5)
    at Function.app.listen (/Users/janinenitz/node/noders/node_modules/express/lib/application.js:556:24)
    at Object.<anonymous> (/Users/janinenitz/node/noders/bin/www:7:18)
    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)
... etc etc

I also tried telling the app.js to listen to a random port number: app.listen(31001); but still no joy :S

Is there a chance that the previous app I built and installed using npm install is now somehow in conflict with this one? Is there an official way of "uninstalling" a nodeJs app?

Cheers, J


1 Answers

Error: listen EADDRINUSE means the port is taken. Are you running another node app or some server on the designated port? My guess is that you are.

If you want to kill the process that is taking up the port you're trying to connect to and you're running linux/mac, in terminal run:

lsof -i tcp:{DESIGNATED_PORT} // Example
lsof -i tcp:8080 // Yours will need to be something like so

You'll see output like so:

COMMAND    PID            USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
node      2940 sethkrasnianski   12u  IPv4 0xdce46e6699332713      0t0  TCP *:vrpn (LISTEN)

...then grab that PID # and run kill -9 {PID_NUMBER}

Otherwise, you should just edit your app.js file (or whatever the entry file is named) and assign your express server to a new, obscure port.

like image 170
Seth Avatar answered Dec 07 '25 20:12

Seth



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!