Permission denied while installing Yo

All we need is an easy explanation of the problem, so here it is.

I’m trying to set up yo to use the angular generator for a project. I am following the steps detailled here: http://yeoman.io/learning/index.html

I already have Node.js and NPM installed.

But when I use the command:

sudo npm install -g yo bower grunt-cli

It fails and I get this error:

> [email protected] postinstall /usr/lib/node_modules/yo/node_modules/cross-spawn/node_modules/spawn-sync
> node postinstall


fs.js:439
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^
Error: EACCES, permission denied '/usr/lib/node_modules/yo/node_modules/cross-spawn/node_modules/spawn-sync/package.json'
    at Object.fs.openSync (fs.js:439:18)
    at Object.fs.writeFileSync (fs.js:978:15)
    at Object.<anonymous> (/usr/lib/node_modules/yo/node_modules/cross-spawn/node_modules/spawn-sync/postinstall.js:20:6)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:935:3
npm ERR! Linux 3.13.0-24-generic
npm ERR! argv "node" "/usr/bin/npm" "install" "-g" "yo"
npm ERR! node v0.10.37
npm ERR! npm  v2.11.0
npm ERR! code ELIFECYCLE

npm ERR! [email protected] postinstall: `node postinstall`
npm ERR! Exit status 8
npm ERR! 
npm ERR! Failed at the [email protected] postinstall script 'node postinstall'.
npm ERR! This is most likely a problem with the spawn-sync package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node postinstall
npm ERR! You can get their info via:
npm ERR!     npm owner ls spawn-sync
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/vincent/npm-debug.log

I tried to use chmod 777 on /usr/lib/node_modules but it doesn’t seem to work better.

I can install Bower and Grunt, it worked, but when I try to install Yo, it fails everytime…

I have no idea what to do as everything I tried using chmod or chown didn’t work.

Thanks for your help guys! 🙂

How to solve :

I know you bored from this bug, So we are here to help you! Take a deep breath and look at the explanation of your problem. We have many solutions to this problem, But we recommend you to use the first method because it is tested & true method that will 100% work for you.

Method 1

I worked around the issue by using:

sudo npm install -g yo --unsafe-perm

Use of --unsafe-perm suggested by nyakto in this bug report.

Edit – realised that this is the URL posted by @Stephan in his answer.

I don’t know the specifics about –unsafe-perm – I can only state that it allowed me to install yo without errors I experienced that were very similar / identical to OP.

Method 2

The comment in the github repo fixed my issue. Basically just needed to update node version. Listing out the steps for future reference:

sudo npm cache clean -f
sudo npm install -g n
sudo n stable
node -v

Cheers

Method 3

Have a look at this bug report:
https://github.com/ForbesLindesay/spawn-sync/issues/11

Method 4

I had the same issue . Apparently a common isse with yeoman. doing the following solved my issue try deleting all files in the /Users/yourusername/.config/configstore/ directory and then run the yo command as usual.

Method 5

I had same issue too,under linuxmint 17.
Cause I use nodejs 0.10,and I upgrade npm to 2.X.

Try to reinstall nodejs and select the correct version
https://github.com/nodesource/distributions

Good luck!

Note: Use and implement method 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply