使用 Bower 更新到最新的 Polymer
Update to latest Polymer using Bower
我有一个配置如下的 Polymer 应用程序:
我的主项目bower.json文件:
{
"name": "Raf",
"authors": [
"Raffaeu <raffaeu@gmail.com>"
],
"description": "Test Project",
"dependencies": {
"polymer": "Polymer/polymer#1.2.0",
"iron-elements": "PolymerElements/iron-elements#^1.0.8",
"paper-elements": "PolymerElements/paper-elements#^1.0.7"
}
}
在我的 bower_components 文件夹中,我确实有一个 polymer 文件夹,其中包含以下内容 JSON:
{
"name": "polymer",
"version": "1.2.0",
"main": [
"polymer.html"
],
"repository": {
"type": "git",
"url": "https://github.com/Polymer/polymer.git"
},
"dependencies": {
"webcomponentsjs": "^0.7.2"
}
}
现在,如果我在根文件夹中(主 bower.json 文件所在的位置)并且我 运行正在 bower info polymer
bower returns 我的版本列表如下:
bower cached https://github.com/Polymer/polymer.git#1.6.0
bower validate 1.6.0 against https://github.com/Polymer/polymer.git#*
{
name: 'polymer',
version: '1.6.0',
...
但是如果我 运行 bower update polymer --save
控制台 returns 以下消息并没有更新到 1.6.0 但它仍然是我当前的版本 1.2.0:
无法找到适合聚合物的版本,请输入以下数字之一选择一个:
1) polymer#1.2.0 which resolved to 1.2.0 and is required by MyTestProject
2) polymer#~1.2.0 which resolved to 1.2.4 and is required by paper-datatable#0.9.8
3) polymer#^1.2.0 which resolved to 1.6.0 and is required by iron-behaviors#1.0.13
4) polymer#^1.2.1 which resolved to 1.6.0 and is required by paper-behaviors#1.0.11
5) polymer#^1.2.4 which resolved to 1.6.0 and is required by iron-menu-behavior#1.1.3
6) polymer#^1.1.1 which resolved to 1.6.0 and is required by vaadin-grid#1.0.0
7) polymer#^1.0.0 which resolved to 1.6.0 and is required by iron-a11y-keys-behavior#1.1.1
8) polymer#^1.1.0 which resolved to 1.6.0 and is required by paper-dropdown-menu#1.1.3
Prefix the choice with ! to persist it to bower.json
? Answer 1
并且没有任何更新。
我是否应该在 polymer 文件夹中手动将版本更改为 1.6.0 然后 运行 更新?
您需要 select !3
这将在您的 bower.json
中添加一个名为 resolutions
的新对象,其值为 polymer#^1.2.0
。使用 !
将在 bower.json
中保留您的选择。因为你是 selecting 第一个选项,所以它从你的 bower.json
中获取版本,该版本设置为使用确切的版本,即 1.2.0
.
实际上,您可以 select 第三个选项之后的任何内容,因为它们都是 latest above
提到的版本 because of '^'
。
我有一个配置如下的 Polymer 应用程序:
我的主项目bower.json文件:
{
"name": "Raf",
"authors": [
"Raffaeu <raffaeu@gmail.com>"
],
"description": "Test Project",
"dependencies": {
"polymer": "Polymer/polymer#1.2.0",
"iron-elements": "PolymerElements/iron-elements#^1.0.8",
"paper-elements": "PolymerElements/paper-elements#^1.0.7"
}
}
在我的 bower_components 文件夹中,我确实有一个 polymer 文件夹,其中包含以下内容 JSON:
{
"name": "polymer",
"version": "1.2.0",
"main": [
"polymer.html"
],
"repository": {
"type": "git",
"url": "https://github.com/Polymer/polymer.git"
},
"dependencies": {
"webcomponentsjs": "^0.7.2"
}
}
现在,如果我在根文件夹中(主 bower.json 文件所在的位置)并且我 运行正在 bower info polymer
bower returns 我的版本列表如下:
bower cached https://github.com/Polymer/polymer.git#1.6.0
bower validate 1.6.0 against https://github.com/Polymer/polymer.git#*
{
name: 'polymer',
version: '1.6.0',
...
但是如果我 运行 bower update polymer --save
控制台 returns 以下消息并没有更新到 1.6.0 但它仍然是我当前的版本 1.2.0:
无法找到适合聚合物的版本,请输入以下数字之一选择一个:
1) polymer#1.2.0 which resolved to 1.2.0 and is required by MyTestProject
2) polymer#~1.2.0 which resolved to 1.2.4 and is required by paper-datatable#0.9.8
3) polymer#^1.2.0 which resolved to 1.6.0 and is required by iron-behaviors#1.0.13
4) polymer#^1.2.1 which resolved to 1.6.0 and is required by paper-behaviors#1.0.11
5) polymer#^1.2.4 which resolved to 1.6.0 and is required by iron-menu-behavior#1.1.3
6) polymer#^1.1.1 which resolved to 1.6.0 and is required by vaadin-grid#1.0.0
7) polymer#^1.0.0 which resolved to 1.6.0 and is required by iron-a11y-keys-behavior#1.1.1
8) polymer#^1.1.0 which resolved to 1.6.0 and is required by paper-dropdown-menu#1.1.3
Prefix the choice with ! to persist it to bower.json
? Answer 1
并且没有任何更新。 我是否应该在 polymer 文件夹中手动将版本更改为 1.6.0 然后 运行 更新?
您需要 select !3
这将在您的 bower.json
中添加一个名为 resolutions
的新对象,其值为 polymer#^1.2.0
。使用 !
将在 bower.json
中保留您的选择。因为你是 selecting 第一个选项,所以它从你的 bower.json
中获取版本,该版本设置为使用确切的版本,即 1.2.0
.
实际上,您可以 select 第三个选项之后的任何内容,因为它们都是 latest above
提到的版本 because of '^'
。