我正在尝试在nodejs中安装yo和其他一些软件包,但是我一直在收到错误。我是节点的新手,所以我有点迷茫。 我正在运行Mac OS X 10.10.3。我正在使用的命令是
sudo npm install --global yo
这样做会给我以下错误。
> 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
答案 0 :(得分:16)
通常,您不应该使用sudo来安装节点模块。 相反,使用sudo修复文件夹权限,以允许您执行全局npm安装。
使用
获取.npm目录的所有权sudo chown -R $(whoami) ~/.npm
使用
编写node_modules目录的权限sudo chown -R $USER /usr/local/lib/node_modules
然后尝试再次运行你的npm install命令,不用 sudo。
答案 1 :(得分:1)
运行以下命令可以解决问题。
sudo npm cache clean
sudo npm install -g yo