【问题标题】:EACCES Error with Bower install?Bower 安装时出现 EACCES 错误?
【发布时间】:2014-04-11 01:13:30
【问题描述】:

我在 StackOverflow 和其他一些网站上阅读了一些答案,但似乎没有一个可以解决我遇到的问题。

我正在通过终端安装 AppGyver 插件。得到以下错误:

BradMacBookPro:SparksInSpain breadadams$ bower install https://##MY-DOWNLOAD-CODE##@addons.appgyver.com/steroids-addons.js?version=3.1.0 --save
bower not-cached    https://##MY-DOWNLOAD-CODE##@addons.appgyver.com/steroids-addons.js?version=3.1.0#*
bower resolve       https://##MY-DOWNLOAD-CODE##@addons.appgyver.com/steroids-addons.js?version=3.1.0#*
bower download      https://##MY-DOWNLOAD-CODE##@addons.appgyver.com/steroids-addons.js?version=3.1.0
bower EACCES        EACCES, mkdir '/Users/breadadams/.cache/bower/packages/7480e059b318750565b4b25c2556c9c4'

Stack trace:
Error: EACCES, mkdir '/Users/breadadams/.cache/bower/packages/7480e059b318750565b4b25c2556c9c4'

Console trace:
Trace
    at StandardRenderer.error (/usr/local/lib/node_modules/bower/lib/renderers/StandardRenderer.js:74:17)
    at Logger.updateNotifier.packageName (/usr/local/lib/node_modules/bower/bin/bower:109:18)
    at Logger.EventEmitter.emit (events.js:95:17)
    at Logger.emit (/usr/local/lib/node_modules/bower/node_modules/bower-logger/lib/Logger.js:29:39)
    at /usr/local/lib/node_modules/bower/lib/commands/install.js:27:16
    at _rejected (/usr/local/lib/node_modules/bower/node_modules/q/q.js:808:24)
    at /usr/local/lib/node_modules/bower/node_modules/q/q.js:834:30
    at Promise.when (/usr/local/lib/node_modules/bower/node_modules/q/q.js:1079:31)
    at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/bower/node_modules/q/q.js:752:41)
    at /usr/local/lib/node_modules/bower/node_modules/q/q.js:574:44

System info:
Bower version: 1.2.8
Node version: 0.10.25
OS: Darwin 13.1.0 x64

我不是 sudo,我试过 --allow-root,清理了凉亭缓存,安装时总是遇到同样的错误。一些本地权限问题?

【问题讨论】:

  • ##MY-DOWNLOAD-CODE## 是我隐藏的下载代码,只是提醒一下,这不是问题:)
  • sudo chown -R breadadams /Users/breadadams/.cache/bower/packages/7480e059b318750565b4b25c2556c9c4'

标签: terminal bower steroids


【解决方案1】:

我有一个类似的问题,我无法使用这些建议解决。当我以 root 权限运行 Bower 时,我成功了,如下所示:

sudo bower install --allow-root

【讨论】:

  • 如果这有效,那么您有权限问题。使用下面其他人指定的 chown 命令实际上可以修复错误。您可以导航到 /Users//.config/configstore 并使用“ls -l”检查所有权。如果这些文件中的任何一个归根用户所有,则可能是导致问题的原因。这是您使用“sudo chown -R .config/”(假设您与 .config 目录位于同一目录中)更改用户所有权的地方。类似地检查 ~/.cache 目录
  • 在该命令之后我建议(如下所示)运行:$ sudo chown YOUUSERNAME:staff ~/.config/configstore/bower-github.json ~/.config/configstore/update-notifier-bower.json
  • 我尝试了第一条评论,我的用户拥有该文件,该组是员工。以后如何解决这个问题?
  • 我认为如下所述更改权限是解决此问题的正确方法。
【解决方案2】:

更改 .config 和缓存目录的所有权

sudo chown -R username:username ~/.config 

sudo chown -R username:username ~/.cache

【讨论】:

  • 我使用了你的,但修改了。 sudo chown -R username ~/.config sudo chown -R username ~/.cache 没有额外的“:用户名”,我的工作。 :username 的用途是什么?
  • 这是一个很好的解决方案。谢谢。您还可以使用用户别名:sudo chown -R $USER ~/.config AND sudo chown -R $USER ~/.cache。
  • @TylerDavis 它被指定为用户名:用户组,其中用户组可能有很多用户。但默认情况下没有创建用户组,因此您的命令有效。
  • 我无意中以 root 身份安装了 bower 和 npm,并且很长一段时间没有 sudo/--allow-root 就无法运行它们。这为我修好了,非常感谢。
  • @Tyler Davis 你拯救了我的一天!
【解决方案3】:

我注意到您在 MacBook Pro 上尝试过这个。

你可以试试这个:

  • 去寻找者
  • 在菜单下转到转到文件夹键入:~/.cache/bower
  • 删除其内容,然后重试。

也正如 @Edwin 建议您可以尝试:

命令bower cache clean 将具有相同的效果,与操作系统无关。

【讨论】:

  • 谢谢,我在使用 Ember-CLI 时遇到了类似的问题,安装停止是因为 bower 无法重命名 tmp 目录。按照你的建议做了,一切正常。再次感谢:)
  • 或者命令bower cache clean 将具有相同的效果,而与操作系统无关。
  • bower cache clean 仍然抛出错误,必须将 cd 到缓存文件夹并手动删除。
  • 和克里斯托弗一样的问题,我需要删除目录。奇怪,bower cache clean 过去曾为我工作过,但我已经更新了很多,所以也许 bower 在这方面发生了变化。
【解决方案4】:

我不确定我的项目发生了什么,但为了解决 bower 的问题,我必须运行以下命令。

sudo npm install -g bower

sudo bower cache clean --allow-root 

rm -Rf bower_components

sudo bower install --allow-root

我仍然不确定出了什么问题,但是在这些命令之后我已经启动并运行了

【讨论】:

  • 我已经尝试了上面的所有方法,只有这个为我解决了!非常感激!附言为什么会这样?我的工作项目突然中断了。我没有做任何改变...
【解决方案5】:

1) 运行

$groups

获取您的组的名称

2) 然后运行

$sudo chown -R {user}:{group} ~/.config 
$sudo chown -R {user}:{group} ~/.cache

其中 {user} - 是用户名,{group} - 是组名

【讨论】:

  • 也可能有助于运行$sudo chown -R {user}:{group} ~/.cache
  • 和我写的有什么不同?
  • 复制粘贴问题。我不是说 .cache,我是说 ~/.npm
【解决方案6】:

我遇到了同样的问题,发现 bower_components 文件夹归 root 用户所有。我将所有权更改为我的用户,一切正常,无需以 root 身份运行 bower。

sudo chown -R $USER bower_components

【讨论】:

    【解决方案7】:

    正如大家所说,bower 和 npm 不应该使用 sudo 运行。 这纠正了我在我的 OSX 机器上的问题。

    sudo chown -R $USER:$GROUP ~/.npm
    sudo chown -R $USER:$GROUP ~/.config
    

    现在你应该可以运行了:

    npm install
    npm start 
    

    甚至

    bower install
    

    无需使用 sudo。

    *note npm start 通常调用 bower install

    【讨论】:

    • 也可能有助于运行$sudo chown -R {user}:{group} ~/.cache
    【解决方案8】:

    我遇到了同样的问题,但上面没有对我有用。如果您最近更新了 Xcode 但无法识别,请不要忘记同意条款并安装命令行工具!

    xcode-select --install

    【讨论】:

      猜你喜欢
      • 2016-08-30
      • 1970-01-01
      • 1970-01-01
      • 2013-09-13
      • 2015-07-04
      • 2016-03-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多