如何强制 Bower 安装特定版本的依赖项

how to force bower to install a certain version of dependency

假设一个 bower.json 文件,其中的依赖项类似于

"dependencies": {
    "angular": "~1.5.x",
    "angular-routing": "*",
    "ngDialog": "*",
    "requirejs": "*"
}

因为 angular-routing 需要另一个版本的 angular(比如 1.2.x),Bower 提示我选择一个版本。

如何强制 Bower 自动安装 angular ~1.5.x

我找到了答案。我正在为其他人分享:

如果我在 bower.json 中将我喜欢的版本的依赖项添加到 resolutions,Bower 将自动安装它。这是我更新的 bower.json:

"dependencies": {
  "angular": "~1.5.x",
  "angular-routing": "*",
  "ngDialog": "*",
  "requirejs": "*"
},
"resolutions": {
  "angular": "~1.5.x"
}

更多信息here

更新:
正如 Mattliu 在评论中提到的,当任何库要求已安装依赖项的另一个版本时,可以用 ! 来回答。这样您将保留现有版本,并且 npm 会自动创建 resolution 配置。

  • 您需要在bower.json中指定版本。
  • 请注意,使用波浪号 将自动解析为任何较新的次要版本
  • 因此,指定 ~1.5.x 将拉取 1.5.1(如果存在)
  • 要指定 精确 版本,请删除波浪号,例如指定“1.5.1”

如果您想严格安装 JQuery 2.1.4 并将其添加到您的 bower.json 依赖项中,您可以像这样

bower install jQuery#2.1.4 --save