There could be a lot of moving parts here. First you should try
npm cache clean
sudo npm cache clean
npm update -g bower
…which is –given all the moving parts– not very likely to work for you.
On Mac, using brew and nvm with some history, you would do something like this:
1. figure out where bower is now
$ which bower
/usr/local/share/npm/bin/bower
$ ls -hal /usr/local/share/npm/bin/bower
lrwxr-xr-x 1 iwein admin 35B Dec 15 2013 /usr/local/share/npm/bin/bower -> ../lib/node_modules/bower/bin/bower
$ ls -hal /usr/local/share/npm/lib/node_modules/bower/bin/bower
-rwxr-xr-x 1 iwein staff 3.3K Sep 17 2013 /usr/local/share/npm/lib/node_modules/bower/bin/bower
$ bower -v
1.2.8
$ rm -rf /usr/local/share/npm/lib/node_modules/bower
2. reinstall bower using npm
$ npm install -g bower
/Users/iwein/.nvm/v5.11.1/bin/bower -> /Users/iwein/.nvm/v5.11.1/lib/node_modules/bower/bin/bower
/Users/iwein/.nvm/v5.11.1/lib
└── bower@1.7.9
$ bower -v
bash: /usr/local/share/npm/bin/bower: No such file or directory
$ which bower
/Users/iwein/.nvm/v5.11.1/bin/bower
$ bower
bash: /usr/local/share/npm/bin/bower: No such file or directory
$ ls -hal ~/.nvm/v5.11.1/bin/bower
lrwxr-xr-x 1 iwein staff 35B Jun 1 11:53 /Users/iwein/.nvm/v5.11.1/bin/bower -> ../lib/node_modules/bower/bin/bower
3. open a new terminal
…or source your .profile or whatever. Check if you're using the same node version (implying a different nvm version if you don't)
$ which bower
/Users/iwein/.nvm/v0.10.24/bin/bower
$ bower -v
1.4.1
$ nvm use 5
Now using node v5.11.1
$ which bower
/Users/iwein/.nvm/v5.11.1/bin/bower
$ bower -v
1.7.9
And you're good.
Note that:
- you have to make sure you are installing in the right place, you may need multiple versions of bower, nvm, npm or node on your system for different projects…
- you need to restart the terminal to make sure the linking is done correctly.