17
votes

Everytime I try to install something with Bower I get a permission error like this:

Andreass-MacBook-Air:openMedia Andreas$ bower install jquery
/usr/local/lib/node_modules/bower/node_modules/configstore/index.js:56
            throw err;
                  ^
Error: EACCES, permission denied '/Users/Andreas/.config/configstore/bower-github.yml'
You don't have access to this file.

at Error (native)
at Object.fs.openSync (evalmachine.<anonymous>:500:18)
at Object.fs.readFileSync (evalmachine.<anonymous>:352:15)
at Object.create.all.get (/usr/local/lib/node_modules/bower/node_modules/configstore/index.js:34:29)
at Object.Configstore (/usr/local/lib/node_modules/bower/node_modules/configstore/index.js:27:44)
at readCachedConfig (/usr/local/lib/node_modules/bower/lib/config.js:22:23)
at defaultConfig (/usr/local/lib/node_modules/bower/lib/config.js:11:24)
at Object.<anonymous> (/usr/local/lib/node_modules/bower/lib/index.js:40:32)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
Andreass-MacBook-Air:openMedia Andreas$ 

I imagine there might be an easy solution to this. But this is my first experience with Bower. Thanks in advance.

4

4 Answers

53
votes

Tried with sudo ?

sudo bower install --allow-root
sudo bower install jquery

Another solution is to change the chown of your configstore folder

sudo chown -R Andreas:Andreas /Users/Andreas/.config/configstore/
bower init
bower install jquery

If there are more errors with eaccess, expand the chown to your whole home folder

17
votes

Here is the fix, run below commands. it should work.

sudo chown -R $USER:$GROUP ~/.npm
sudo chown -R $USER:$GROUP ~/.config
3
votes

Change the json bower configuration file .bowerrc which looks like

{
    "directory": "www/lib"
}

to look like

{
    "directory": "www/lib",
    "allow_root": true
}
-1
votes

you can just copy and paste this on your terminal

sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}