Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.

run npm command gives error "/usr/bin/env: node: No such file or directory" #3911

Closed
nickgit opened this issue Aug 23, 2012 · 117 comments
Closed

Comments

@nickgit
Copy link

nickgit commented Aug 23, 2012

This happens in version 0.6.x on ubuntu. Does not happen above 0.7.x

@bnoordhuis
Copy link
Member

Not a node bug. The node binary is not on your $PATH.

@digitalmediums
Copy link

I've found this is often a misnaming error, if you install from a package manager you bin may be called nodejs so you just need to symlink it like so "ln -s /usr/bin/nodejs /usr/bin/node"

@mtrovo
Copy link

mtrovo commented Jan 17, 2013

digitalmediums,
That was useful, thanks a lot!

@houmie
Copy link

houmie commented Jan 28, 2013

After 3 hours of suffering, this is the solution. Thank you digitalmediums. Why is this now misnaming happening now out of the blue?

@othiym23
Copy link

@houmie (and everyone who comes across this bug in the future)

These explain why:

http://lists.debian.org/debian-devel-announce/2012/07/msg00002.html
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=614907
http://debian.2.n7.nabble.com/Node-js-and-it-s-future-in-debian-td1042211.html (only read this last thread if you're a masochist)

As a Node developer, I would think hard before using Debian's packaged version of node, and would use Ubuntu with chrislea's PPA for Node or Debian stable with Node built from source in preference to the stock Debian nodejs package for the foreseeable future. The discussion on this bug makes clear that Debian has a very different idea of the role of Node in the wider world than most of the Node community.

@houmie
Copy link

houmie commented Jan 29, 2013

@othiym23 Thank you for the explanation. :) I see there is a proper flame war around this. But its understandable when namespaces are broken. Hope they can resolve it at one stage.

@micfan
Copy link

micfan commented Mar 5, 2013

@digitalmediums Thx

@Augustin82
Copy link

Thanks for the help.

@JohnArcher
Copy link

@digitalmediums Thanks!

@johnjbarton
Copy link

I installed via sudo make install.

npm still fails:

/work/qpp$ sudo npm install -g grunt-cli
/usr/bin/env: node: No such file or directory
/work/qpp$ node -v
v0.10.4
/work/qpp$ which node
/usr/local/bin/node

@bnoordhuis
Copy link
Member

@johnjbarton Try sudo PATH="$PATH:/usr/local/bin" npm install -g grunt-cli

@johnjbarton
Copy link

Thanks. However in the meantime I uninstalled node, unintalled npm, then
installed node and installed npm. Then I was able to install grunt-cli.

On Fri, Apr 12, 2013 at 2:13 PM, Ben Noordhuis notifications@github.comwrote:

@johnjbarton https://github.com/johnjbarton Try sudo
PATH="$PATH:/usr/local/bin" npm install -g grunt-cli


Reply to this email directly or view it on GitHubhttps://github.com//issues/3911#issuecomment-16317844
.

@arky
Copy link

arky commented Jun 5, 2013

Just do

$ sudo apt-get install nodejs-legacy

https://github.com/volojs/volo#install

@gw0
Copy link

gw0 commented Jun 8, 2013

Yes, installing nodejs-legacy is the cleanest solution.

Imho trying to name a server with a generic word like node is pretty stupid and it is quite understandable that there is so much resistance in accepting such a name. Rename it back to something unique that is easy to google for and can not be mistaken for something else, like nodejs, and everyone will be happy.

@bnoordhuis
Copy link
Member

For very restricted definitions of 'everyone'. You're only two or three years late - that ship has long sailed.

@ForbesLindesay
Copy link

That ship sailed a long time ago and those arguments only really apply to something that's not vastly popular. node.js is popular enough to claim the node name and expect other less popular programs not to conflict with it.

As for not being googlable: https://www.google.com/?q=node

@amitmnnit
Copy link

Thanks,

@jarl-dk
Copy link

jarl-dk commented Dec 2, 2013

@othiym23 : Thanks for the details on ubuntu/debian...

@ebuildy
Copy link

ebuildy commented Dec 3, 2013

I had to append /usr/bin to PATH in my PHP code :

putenv('PATH=' . getenv('PATH') . ':/usr/local/bin:/usr/bin');

@kevbob1
Copy link

kevbob1 commented Dec 23, 2013

"update-alternatives --install /usr/bin/node node /usr/bin/nodejs 99"

this fixed it for me

@rlidwka
Copy link

rlidwka commented Dec 24, 2013

or just apt-get install nodejs-legacy

@rafee
Copy link

rafee commented Jan 5, 2014

rlidwka's solution is the one, I arrived. Except the fact, I didn't see it & gone through infinite suffering.

@rlidwka
Copy link

rlidwka commented Jan 5, 2014

rlidwka's solution is the one, I arrived. Except the fact, I didn't see it & gone through infinite suffering.

you sound like Zathras :)

@jadedgnome
Copy link

i did :$ ln -s /usr/bin/nodejs /usr/bin/node

@rzr
Copy link

rzr commented Mar 22, 2014

sudo ln -fs /usr/bin/nodejs /usr/local/bin/node

@eiger3970
Copy link

Yes, digitalmediums' answer fixed it.
"ln -s /usr/bin/nodejs /usr/bin/node"
Muchos gracias 👍

@romerobrjp
Copy link

digitalmediums,
That was useful, thanks a lot!

@ghost
Copy link

ghost commented Oct 25, 2015

Thank you, it worked for me!

@dunglehome
Copy link

@digitalmediums you are right till now. thank you!
"if you install from a package manager you bin may be called nodejs so you just need to symlink it like so "ln -s /usr/bin/nodejs /usr/bin/node""

@chrissilkey
Copy link

Great!, thanks for the post

@mattbrosenberg
Copy link

Symlink worked great for Debian deploy, thanks!

@CruiseDevice
Copy link

sudo apt-get install nodejs-legacy
worked :) 👍

@ghost
Copy link

ghost commented Jan 21, 2016

sudo apt-get install nodejs-legacy worked :)

@fgesora
Copy link

fgesora commented Jan 26, 2016

Some Linux distributions installs NodeJS as nodejs and not node. Simply create a link as
ln -s /usr/bin/nodejs /usr/bin/node

@iranalves85
Copy link

thanks, my npm is working now.

@theblackhole
Copy link

@fgesora 's solution works for me, thanks 👍 (I use nvm)

@thfontaine
Copy link

Thanks, worked for me =)

@alexanderbezverhni
Copy link

Thanks @digitalmediums

@aeolusheath
Copy link

thanks @digitalmediums

@wellington1993
Copy link

thanks @digitalmediums

@matheushf
Copy link

dude, thanks! @digitalmediums

@iamtodor
Copy link

@digitalmediums you are the great guy! This shitty issue still happens almost 4 yeah later.. (:

@arachchi
Copy link

thanks for the help

@curly-hub
Copy link

I expected them to fix it after 3 years....

@rpulijala
Copy link

Wow, this issue has been since last 4 years... well thats interesting

@Li-ReDBox
Copy link

I found this amazing and shocking. Really lack of caring.

@bnoordhuis
Copy link
Member

For people coming here through search engines, the correct solution is #3911 (comment) or #3911 (comment).

To the last three commenters: If you are unhappy that Debian decided to call the binary nodejs instead of node, complain to Debian. Griping about it here won't help.

Locking.

@nodejs nodejs locked and limited conversation to collaborators May 11, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests