Jatin Jatin - 6 months ago 62
Node.js Question

nodejs vs node on ubuntu 12.04

I installed nodejs on ubuntu from instructions given here

When I write

node --version
in the terminal I see this :

-bash: /usr/sbin/node: No such file or directory


I can see node in the
/usr/sbin/
directory, though.

Writing
npm --version
shows
1.3.5


Writing
nodejs --version
shows
v0.10.15


Also, I can see node in the
/usr/bin/
directory.

So, how do I get
node
working?

Also, If I use zsh instead of bash, then
node
command works.

Answer

You need to manually create a symlink /usr/bin/node. Shortcut for bash compatible shells:

sudo ln -s `which nodejs` /usr/bin/node

Or if you use non-standard shells, just hardcode the path you find with which nodejs:

sudo ln -s /usr/bin/nodejs /usr/bin/node

Later edit

I found this explanation in the link you posted

There is a naming conflict with the node package (Amateur Packet Radio Node Program), and the nodejs binary has been renamed from node to nodejs. You'll need to symlink /usr/bin/node to /usr/bin/nodejs or you could uninstall the Amateur Packet Radio Node Program to avoid that conflict.

Later later edit

It's been a while since I answered this. Although the solution I posted up here worked for me several times, users have reported a few more solutions within the comments:

From @user229115

sudo update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10

From AskUbuntu (user leftium)

sudo apt-get --purge remove node sudo apt-get --purge remove nodejs sudo apt-get install nodejs