简体   繁体   中英

npm install not working, throwing errors

I am trying to install yo and a few other packages in nodejs, however I keep getting errors. I am new to node so I am a little lost. I am running Mac OS X 10.10.3. The command I am using is

sudo npm install --global yo

Doing this gives me the following errors.

> spawn-sync@1.0.13 postinstall /usr/local/lib/node_modules/yo/node_modules/cross-spawn/node_modules/spawn-sync
> node postinstall

shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied
node.js:720
    var cwd = process.cwd();
                      ^
Error: EACCES, permission denied
    at Error (native)
    at Function.startup.resolveArgv0 (node.js:720:23)
    at startup (node.js:63:13)
    at node.js:814:3
npm ERR! Darwin 14.3.0
npm ERR! argv "node" "/usr/local/bin/npm" "install" "--global" "yo"
npm ERR! node v0.12.7
npm ERR! npm  v2.11.3
npm ERR! code ELIFECYCLE

npm ERR! spawn-sync@1.0.13 postinstall: `node postinstall`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the spawn-sync@1.0.13 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!     /Users/XXXXXXX/npm-debug.log

In general, you should not be using sudo to install node modules. Instead, use sudo to fix your folder permissions to allow you to do global npm installs.

Take ownership of the .npm directory with

sudo chown -R $(whoami) ~/.npm

And write permission for the node_modules directory with

sudo chown -R $USER /usr/local/lib/node_modules

Then try to run your npm install command again without sudo.

From your Reddit post, I know that sudo npm cache clean fixed the issue for you. Figured someone should answer here so anyone else looking to solve this can find it.

Running the following commands should solve the problem.

sudo npm cache clean
sudo npm install -g yo 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM