如何更换bower';默认的缓存文件夹?

如何更换bower';默认的缓存文件夹?,bower,package-managers,Bower,Package Managers,在*nix上,bower使用~/.bower文件夹作为其缓存(包等)。 我想把这个换到另一个地方 来自的bower文档建议我在我的.bowerrc中配置存储键 我在项目文件夹中创建了一个,如下所示: { "storage": { "cache": "~/blah/cached", "git": "~/blah/git_templates" } } 运行bower安装-i时,请查看它是否仍试图保存到~/.bower 有人能告诉我我做错了什么吗?和/或如果有其他方式更改

在*nix上,bower使用
~/.bower
文件夹作为其缓存(包等)。
我想把这个换到另一个地方

来自的bower文档建议我在我的
.bowerrc
中配置
存储

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

{
  "storage": {
     "cache": "~/blah/cached",
     "git": "~/blah/git_templates"
  }
}
运行
bower安装-i
时,请查看它是否仍试图保存到
~/.bower


有人能告诉我我做错了什么吗?和/或如果有其他方式更改位置?

您使用的是哪种版本的bower?Bower 1.0.0不再使用~/.Bower。它遵循XDG规范


“存储”属性仅对1.0.0有效。

我也遇到了同样的问题,在根据规范进行了一些尝试后,我放弃了

因此,我回顾了bower在github上的历史,发现:

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

存储bower所需的持久数据(如缓存)的位置。默认为>适合操作系统/平台的路径。有效键为
缓存
注册表
链接
完成

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

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

解决方案
  • 导出环境变量
    bower\u存储\u包
  • 使用
    .bowerrc
    ,例如:

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

注:我认为在谷歌文档中链接spec文档不是一个好主意,也许github会是一个更明智的选择(因为我们可以发出pull请求)。

我现在在bower 1.0.0上,为什么当我有一个格式不正确的文件时,“bower install”会抛出一个错误。bowerrc?谢谢@knightli这对我来说是一个致命的问题,我也不能轻易地证实。但是我把这个标记为正确的。注意:我记得在github上找不到文档,所以我从google文档中链接了。bower\u storage\u packages需要设置什么?