bower install does nothing, not even throw an error
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?
Solution 1:
This work for me:
bower install --force
where the --force
to install forcefully
Solution 2:
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
Solution 3:
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).