【问题标题】:How to change bower's default cache folder?如何更改 Bower 的默认缓存文件夹?
【发布时间】:2013-07-26 17:01:39
【问题描述】:

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

来自的凉亭spec 文档建议我在.bowerrc 中配置storage 键。

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

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

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

谁能告诉我我在这里做错了什么?和/或是否有其他方法可以更改位置?

【问题讨论】:

    标签: bower package-managers


    【解决方案1】:

    我遇到了同样的问题,按照规范尝试了几次后,我放弃了......

    于是我在github上查看了bower的历史,发现:

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

    存储[对象]

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

    • 然而,在this 提交之后,satazor 现在使用 config.storage.packages 代替 config.storage.cache

    • 此后,在v1.0.0 版本中,config 始终设置为 config.storage.packages,但此后规范并未反映此更改

    解决方案

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

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

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

    【讨论】:

    • 感谢@knightli,这对我来说现在是一个死问题,我也无法轻松验证它。但我将此标记为正确 P.S:我记得无法在 github 上找到该文档,所以我从 google docs 链接。
    • bower_storage__packages需要设置什么?
    【解决方案2】:

    您使用的是什么版本的凉亭? Bower 1.0.0 不再使用 ~/.bower。它遵循 XDG 规范,http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html

    “storage”属性仅对 1.0.0 有效。

    【讨论】:

    • 我在 Bower 1.0.0 上,为什么当我的 .bowerrc 格式不正确时,“bower install”会引发错误?
    猜你喜欢
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 2012-01-27
    • 2016-03-28
    • 1970-01-01
    • 2017-11-05
    • 1970-01-01
    相关资源
    最近更新 更多