如何强制 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
假设一个 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