Yo Webapp:错误EACCES,权限被拒绝'Gruntfile.js'

4

我试图安装任何一个yeoman代码生成器,但总是遇到EACCESS错误,也就是权限被拒绝的问题,因为我切换到了Linux操作系统。

 fs.js:432
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^
Error: EACCES, permission denied 'Gruntfile.js'
    at Object.fs.openSync (fs.js:432:18)
    at Object.fs.writeFileSync (fs.js:971:15)
    at Appgenerator.<anonymous> (/usr/local/lib/node_modules/generator-webapp/node_modules/yeoman-generator/lib/actions/actions.js:217:10)
    at processImmediate [as _immediateCallback] (timers.js:336:15)

我正在使用Node v0.10.29和NPM v1.4.14以及Zorin OS8 Codename Saucy。如果我安装“yo webapp-gulp”,错误消息会显示:“EACCES,权限被拒绝'Gulpfile.js'”。
我知道“Error EACCES”经常出现,我也认真阅读了很多帖子,但仍没有解决问题。非常感谢您的帮助。
编辑: 因为我收到此消息,所以连Bower也无法工作,如果我想要安装任何包:
 Error: EACCES, open '/home/george/.cache/bower/packages/c667e980af216b85bcc1c0800106f136-2.0.5.lock'
2个回答

3
答案是:
 chmod -R 777 .

关于“访问被拒绝”的所有内容。我知道这有点复杂,但它可以工作,而且只应该在我的开发机器上工作。

只需进入有问题的目录(对我来说是整个“www”和“home”目录(我知道这不是最佳实践)),然后从终端运行chmod命令即可。


2
chmod -R 777 是危险的。你应该修复你的组权限。 - Bernard Igiri
我认为这个答案有点像“今天的面包,明天的饥饿”..如果我们了解问题会好得多..我的意思是,当你提出这样的解决方案时,对于很多人来说,如果他们没有意识到其中的风险,那么这并不美好。 - ackuser

1

我也遇到了这个问题,因为有时我以root身份运行bash。好的,我发现使用bower可以解决这个问题。

--allow-root

在命令的末尾添加即可。
顺便说一下,每次运行命令都收到这个提示并不好,因此我会这样做。
我看到你的文件夹是.cache,因此可以在之前运行来解决。
bower cache clean

我想提供更多的想法,尽管我不确定

如果这都是关于权限的问题,我会(事实上,我已经这样做了)

chown -R youruser:youruser path/.cache/bower 

但是只在低级别操作,而不是在这个级别操作。如果还不行,我会尝试使用那个更改权限。
chmod -R ... youruser:youruser path/.cache/bower 

在同一层级。
再见。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接