Marc Rasmussen
Marc Rasmussen

Reputation: 20545

Node forever /usr/bin/env: node: No such file or directory

I have installed nodejs using:

apt-get install nodejs

Then i have installed npm using:

apt-get install npm

And then i have installed forever using:

npm install forever -g

Now i go to my project /var/www/myproject

and attempt to run forever start server.js

then i get the following message:

/usr/bin/env: node: No such file or directory

Can anyone tell me whats going on?

Upvotes: 109

Views: 96790

Answers (3)

chedabob
chedabob

Reputation: 5881

EDIT: As of December 2018, this is no longer the correct way. See the other two answers.

You need to symlink the nodejs executable to node sudo ln -s "$(which nodejs)" /usr/local/bin/node The reason for this is that when you do "apt-get install node", it installs an unrelated package, so they had to choose a different name so it wouldn't conflict

Upvotes: 274

Clément Schreiner
Clément Schreiner

Reputation: 1087

While the accepted answer fixes the problem, the correct way to do that, at least with Debian Jessie and forward and Ubuntu 14.4 and forward1 is to install nodejs-legacy:

apt-get install nodejs-legacy

The reason is that Debian already had a package (node) providing /usr/bin/node, and the nodejs node binary had to be installed into /usr/bin/nodejs.

The nodejs-legacy package provides a symbolic link from /usr/bin/nodejs to /usr/bin/node (and conflicts with the node package).

Source: [CTTE #614907] Resolution of node/nodejs conflict and Debian bug #614907: node: name conflicts with node.js interpreter

Upvotes: 44

Shantanu
Shantanu

Reputation: 2336

It's better if you update to the latest node version

  1. sudo npm cache clean -f
  2. sudo npm install -g n
  3. sudo n stable

Upvotes: 22

Related Questions