Bower安装时出现EACCES错误?

Bra*_*ams 46 terminal bower steroids

我已经在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
Run Code Online (Sandbox Code Playgroud)

我不是sudo,我试过--allow-root,清理了bower缓存,总是在安装时遇到同样的错误.一些本地许可问题?

小智 128

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

sudo bower install --allow-root
Run Code Online (Sandbox Code Playgroud)

  • 如果这有效,那么您有权限问题。使用下面其他人指定的 chown 命令实际上可以修复错误。您可以导航到 /Users/<username>/.config/configstore 并使用“ls -l”来检查所有权。如果这些文件中的任何一个归 root 所有,这很可能是导致问题的原因。这是您使用“sudo chown -R .config/”(假设您与 .config 目录位于同一目录中)来更改用户所有权的地方。在 ~/.cache 目录上进行类似检查 (2认同)

Kan*_*n S 42

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

sudo chown -R username:username ~/.config 
Run Code Online (Sandbox Code Playgroud)

sudo chown -R username:username ~/.cache
Run Code Online (Sandbox Code Playgroud)

  • 这是一个很好的解决方案.谢谢.您还可以使用用户别名:sudo chown -R $ USER~/.config AND sudo chown -R $ USER~/.cache. (4认同)
  • 我使用了你的,但修改过.sudo chown -R username~/.config sudo chown -R username~/.cache没有额外的":username"和我的工作.用户名的目的是什么? (2认同)

Dal*_*rzo 36

我注意到你是从MacBook Pro上试过的.

你可以试试这个:

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

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

bower cache clean无论操作系统如何,该命令都具有相同的效果.

  • 或者,命令"bower cache clean"将具有相同的效果,而与OS无关. (4认同)

Cod*_*oss 10

我不确定我的项目发生了什么,但为了解决凉亭问题,我必须运行以下内容.

sudo npm install -g bower

sudo bower cache clean --allow-root 

rm -Rf bower_components

sudo bower install --allow-root
Run Code Online (Sandbox Code Playgroud)

我仍然不确定出了什么问题但是在那些命令之后我才开始运行


Ren*_*tin 6

1)运行

$groups
Run Code Online (Sandbox Code Playgroud)

获取您的群组名称

2)然后运行

$sudo chown -R {user}:{group} ~/.config 
$sudo chown -R {user}:{group} ~/.cache
Run Code Online (Sandbox Code Playgroud)

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