13

在 *nix 上,bower 使用该~/.bower文件夹作为其缓存(包等)。
我想将其更改为其他位置。

来自的 bower规范文档建议我storage.bowerrc.

我在我的项目文件夹中创建了一个,如下所示:

{
  "storage": {
     "cache": "~/blah/cached",
     "git": "~/blah/git_templates"
  }
}

运行时bower install - i看到它仍然试图保存到~/.bower.

谁能告诉我我在这里做错了什么?和/或是否有不同的方式来改变位置?

4

2 回答 2

23

我遇到了同样的问题,在按照规范进行了一些尝试后,我放弃了...

于是我bower在 github 上回顾了 的历史,发现:

  • 之前v0.10.0,bower 使用config.cache ( lib/core/ResolveCache.js) 作为其缓存位置。
  • 之后,satazor 重写了 bower 的核心,现在开始使用config.storage.cache,我敢打赌,规范文档是在这个时候编写的。从规范:

存储 [对象]

bower 需要在哪里存储持久性数据,例如缓存。默认为 > 适合操作系统/平台的路径。有效键是cache, registry, links, completion

  • 但是,在提交之后,satazor 现在使用config.storage.packages 而不是config.storage.cache

  • 在那之后,在v1.0.0版本中,config总是设置为 config.storage.packages,但从那时起规范就没有反映这个变化

解决方案

  • 导出环境变量bower_storage__packages
  • 使用.bowerrc例如:

    {
      "storage":{
          "packages":"/path/to/cache"
      }
    }
    

PS:我认为在 Google Docs 中链接规范文档不是一个好主意,也许 github 会是一个更明智的选择(因为我们可以发出拉取请求)。

于 2013-09-02T00:41:16.640 回答
4

What version of bower are you using? Bower 1.0.0 no longer uses ~/.bower. It follows the XDG spec, http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html

The "storage" property is only valid for 1.0.0.

于 2013-07-28T23:14:07.327 回答