我正在尝试设置yo以将角度生成器用于项目。我正在按照此处详细说明的步骤进行操作:http://yeoman.io/learning/index.html
我已经安装了Node.js和NPM。
但是当我使用命令时:
sudo npm install -g yo bower grunt-cli
失败了,我收到了这个错误:
> spawn-sync@1.0.11 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! spawn-sync@1.0.11 postinstall: `node postinstall`
npm ERR! Exit status 8
npm ERR!
npm ERR! Failed at the spawn-sync@1.0.11 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
我尝试使用chmod 777 on /usr/lib/node_modules
,但似乎效果不佳。
我可以安装Bower和Grunt,但是当我尝试安装Yo时,它每次都会失败......
我不知道该怎么做,因为我尝试使用chmod
或chown
时所做的一切都不起作用。
感谢您的帮助! :)
答案 0 :(得分:15)
我使用以下方法解决了这个问题:
sudo npm install -g yo --unsafe-perm
在此bug report中使用nyakto建议的--unsafe-perm
。
编辑 - 意识到这是@Stephan在他的回答中发布的URL。
我不知道有关--unsafe-perm的具体信息 - 我只能声明它允许我安装你没有我遇到的与OP非常相似/相同的错误。
答案 1 :(得分:9)
github repo中的评论解决了我的问题。基本上只需要更新节点版本。列出未来参考的步骤:
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
node -v
干杯
答案 2 :(得分:1)
答案 3 :(得分:0)
我有同样的问题。显然是与自耕农的共同点。执行以下操作解决了我的问题尝试删除/Users/yourusername/.config/configstore/
目录中的所有文件,然后照常运行yo
命令。
答案 4 :(得分:0)
我也有同样的问题,在linuxmint 17下。 因为我使用nodejs 0.10,我将npm升级到2.X.
尝试重新安装nodejs并选择正确的版本 https://github.com/nodesource/distributions
祝你好运!