Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am on Ubuntu 14.04. I did sudo apt-get install npm. Then I did npm install -g bower, which was successful.

With which npm, I get /usr/bin/npm/.
With which bower, I get /usr/local/bin/bower.

I cloned a github repository which had a bower.json. I try to do bower install in the root but nothing happens. As in, it doesn't echo anything, doesn't install anything. It simply does... nothing. I tried bower --help and nothing comes up.

I tried sudo apt-get update and it says npm is up to date. Nodejs exists too. Whenever I do anything with npm, it simply does nothing.

EDIT: when I do npm --global ls, bower is listed in the directories

What could be the problem here and how can I fix it?

share|improve this question
What is the content of the bower.json file? Could you provide the link to the repository? – Lucio Sep 13 '14 at 4:26
up vote 12 down vote accepted

I had the same problem. It seems to be caused by an incorrect node package.

Removing the node package and installing the legacy package instead worked for me:

apt-get remove node
apt-get autoremove
apt-get install nodejs-legacy
share|improve this answer
this worked. I built nodejs from source to get it working – corvid Jan 5 '15 at 21:02

You checked which npm and which bower, but you didn't check which node. On Ubuntu, the node package is unrelated to NodeJS. The NodeJS package is installed as nodejs, which will break any scripts that depend on node. This is similar to another question where a global installation of jshint wasn't working.

Assuming you have nodejs installed, you can create a symlink so that node points at nodejs:

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

If that doesn't work, or if you prefer not to use the version of NodeJS in the official repositories, you can install Node from a PPA (which will give you both node and nodejs commands) or use NVM (which is my personal preference, as it avoids the need for sudo when installing npm modules).

share|improve this answer
Well, in addition to creating a symlink, I have to remove the node package too. As mentioned in the other answer that node package is disguising to be an actual nodejs package. So even though after creating a symlink for nodejs, node command actually refers to some Amateur Packet Radio Node program, and not the actual nodejs which we desire. – Lokesh Rajwani Sep 25 '15 at 9:25

On Ubuntu 14.04, I solved it with:

sudo apt-get remove npm
sudo apt-get remove node
sudo apt-get autoremove
sudo apt-get update
sudo apt-get install nodejs
sudo ln -s /usr/bin/nodejs /usr/bin/node
share|improve this answer
This one did it for me! Thanks mate. – Trent Aug 17 '15 at 10:29

This work for me:

bower install --force

where the --force to install forcefully

share|improve this answer

For anyone out there that is having this problem but all the other fixes don't work. I found that I was typing the wrong command in, I thought it needed a nodejs before the command like:

nodejs bower install

But bower just executes straight from the terminal

bower install

Stupid I know!

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.