10

我正在尝试设置 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 时,它每次都失败......

我不知道该怎么做,因为我尝试使用chmodchown不起作用的所有东西。

谢谢你们的帮助!:)

4

5 回答 5

15

我使用以下方法解决了这个问题:

sudo npm install -g yo --unsafe-perm

在此错误报告中使用--unsafe-permnyakto 建议的用法。

编辑 - 意识到这是@Stephan 在他的回答中发布的 URL。

我不知道关于 --unsafe-perm 的细节 - 我只能说它允许我安装 yo 而不会遇到与 OP 非常相似/相同的错误。

于 2015-06-01T20:11:10.367 回答
9

github repo 中的评论解决了我的问题。基本上只需要更新节点版本。列出步骤以供将来参考:

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

干杯

于 2015-07-03T05:59:55.247 回答
1

看看这个错误报告: https ://github.com/ForbesLindesay/spawn-sync/issues/11

于 2015-06-01T17:00:56.173 回答
0

我遇到过同样的问题 。显然是约曼的常见问题。执行以下操作解决了我的问题尝试删除目录中的所有文件,/Users/yourusername/.config/configstore/然后yo照常运行命令。

于 2015-06-01T10:19:35.833 回答
0

我也有同样的问题,在 linuxmint 17 下。因为我使用 nodejs 0.10,我将 npm 升级到 2.X。

尝试重新安装nodejs并选择正确的版本 https://github.com/nodesource/distributions

祝你好运!

于 2015-06-02T08:01:12.723 回答