我试图设置你使用角生成器的项目。我正在遵循这里详细说明的步骤: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
的一切都不起作用。
谢谢你的帮助!:)
我使用:
解决了这个问题 sudo npm install -g yo --unsafe-perm
nyakto在这个bug报告中建议使用--unsafe-perm
。
编辑-意识到这是@Stephan在他的回答中发布的URL。
我不知道-unsafe-perm的具体细节,我只能说它允许我安装yo而不会出现与op非常相似/相同的错误。
github repo中的注释修复了我的问题。基本上只需要更新节点版本。列出了供将来参考的步骤:
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
node -v
欢呼
看看这个bug报告:https://github.com/ForbesLindesay/spawn-sync/issues/11
我也有同样的问题。显然是和约曼的共同爱好。做以下解决了我的问题尝试删除/Users/yourusername/.config/configstore/
目录中的所有文件,然后像往常一样运行yo
命令。
我在linuxmint 17下也有同样的问题。因为我用的是nodejs 0.10,我把npm升级到2.X。
尝试重新安装nodejs并选择正确的版本https://github.com/nodesource/distributions
祝你好运!