Polymer Bower能否正确解析递归依赖关系?

Polymer Bower能否正确解析递归依赖关系?,polymer,bower,Polymer,Bower,我试图创建一个包含“聚合物/聚合物”和“聚合物/核心元素”的包,这两个包都有特定的版本0.3.5 $ cat bower.json { "name": "bower-test", "private": true, "dependencies": { "polymer": "Polymer/polymer#0.3.5", "core-elements": "Polymer/core-elements#0.3.5" }, "ignore": [ "**/

我试图创建一个包含“聚合物/聚合物”和“聚合物/核心元素”的包,这两个包都有特定的版本0.3.5

$ cat bower.json 
{
  "name": "bower-test",
  "private": true,
  "dependencies": {
    "polymer": "Polymer/polymer#0.3.5",
    "core-elements": "Polymer/core-elements#0.3.5"
  },
  "ignore": [
    "**/.*",
    "node_modules",
    "bower_components",
    "test",
    "tests"
  ]
}

$ bower --version
1.3.10
当我尝试安装依赖项时,bower报告了
polymer
版本解析中的冲突:

$ bower install
bower not-cached    git://github.com/Polymer/polymer.git#0.3.5
bower resolve       git://github.com/Polymer/polymer.git#0.3.5
bower not-cached    git://github.com/Polymer/core-elements.git#0.3.5
bower resolve       git://github.com/Polymer/core-elements.git#0.3.5
bower download      https://github.com/Polymer/core-elements/archive/0.3.5.tar.gz
bower download      https://github.com/Polymer/polymer/archive/0.3.5.tar.gz
bower extract       core-elements#0.3.5 archive.tar.gz
bower invalid-meta  core-elements is missing "main" entry in bower.json
bower invalid-meta  core-elements is missing "ignore" entry in bower.json
bower resolved      git://github.com/Polymer/core-elements.git#0.3.5
bower not-cached    git://github.com/Polymer/core-ajax.git#>=0.3.0 <1.0.0
bower resolve       git://github.com/Polymer/core-ajax.git#>=0.3.0 <1.0.0
-------------------------- skipped -------------------------------------
bower download      https://github.com/Polymer/core-ajax/archive/0.4.0.tar.gz
-------------------------- skipped -------------------------------------
bower not-cached    git://github.com/Polymer/polymer.git#>=0.4.0 <1.0.0
bower resolve       git://github.com/Polymer/polymer.git#>=0.4.0 <1.0.0
-------------------------- skipped -------------------------------------
bower download      https://github.com/Polymer/polymer/archive/0.4.0.tar.gz

Unable to find a suitable version for polymer, please choose one:
    1) polymer#>=0.3.0 <1.0.0 which resolved to 0.3.5 and is required by core-elements#0.3.5, core-layout#0.3.5 
    2) polymer#0.3.5 which resolved to 0.3.5 and is required by bower-test 
    3) polymer#>=0.4.0 <1.0.0 which resolved to 0.4.0 and is required by core-ajax#0.4.0, core-animated-pages#0.4.0, core-animation#0.4.0, core-collapse#0.4.0, core-component-page#0.4.0, core-dropdown#0.4.0, core-field#0.4.0, core-header-panel#0.4.0, core-icons#0.4.0, core-iconset#0.4.0, core-iconset-svg#0.4.0, core-input#0.4.0, core-layout-grid#0.4.0, core-layout-trbl#0.4.0, core-list#0.4.0, core-localstorage#0.4.0, core-media-query#0.4.0, core-menu-button#0.4.0, core-meta#0.4.0, core-overlay#0.4.0, core-popup-menu#0.4.0, core-range#0.4.0, core-selection#0.4.0, core-selector#0.4.0, core-shared-lib#0.4.0, core-signals#0.4.0, core-splitter#0.4.0, core-style#0.4.0, core-tooltip#0.4.0, core-transition#0.4.0, marked-element#0.4.0, prettify-element#0.4.0
$bower安装
鲍尔没有被缓存git://github.com/Polymer/polymer.git#0.3.5
鲍尔决心git://github.com/Polymer/polymer.git#0.3.5
鲍尔没有被缓存git://github.com/Polymer/core-elements.git#0.3.5
鲍尔决心git://github.com/Polymer/core-elements.git#0.3.5
鲍尔下载https://github.com/Polymer/core-elements/archive/0.3.5.tar.gz
鲍尔下载https://github.com/Polymer/polymer/archive/0.3.5.tar.gz
bower extract核心元素#0.3.5 archive.tar.gz
bower.json中缺少无效的元核心元素“main”条目
bower.json中缺少无效的元核心元素“忽略”项
鲍尔决定git://github.com/Polymer/core-elements.git#0.3.5
鲍尔没有被缓存git://github.com/Polymer/core-ajax.git#>=0.3.0=0.3.0=0.4.0=0.4.0=0.3.0=0.4.0=0.3.0
  • 获取
    核心ajax
    最新版本,即
    核心ajax#0.4.0
  • 看到
    核心ajax#0.4.0
    依赖于
    polymer#>=0.4.0
  • 报告错误,因为我们在
    bower.json
    中为
    polymer
    指定了确切版本
    0.3.5
  • 依赖项的有效配置确实存在(以
    核心ajax#0.3.5
    为例,这取决于
    polymer#>=0.3.5
    ),但是bower无法找到此类配置。更糟糕的是,它甚至没有尝试


    我做错什么了吗?如果没有,有什么解决办法吗

    一般来说,如果Bower不知道如何解析资源的版本,它会这样提示您。在本例中,它之所以会提示您,是因为您在bower.json中选择了准确的版本
    #0.3.5
    。如果你放松了我自己解决的一些问题(例如,
    =0.3.5@ebidel),我的项目中有几个聚合物用户(只有聚合物本身,不包括任何组件),项目中使用的聚合物的当前版本是
    0.3.5
    。这就是为什么我不能轻松地将聚合物更新到更高版本的原因(特别是下一个主要版本)。bower.json的依赖项部分现在只包含一行:
    “polymer”:“polymer/polymer#0.3.5”
    。我想将聚合物组件带到项目中,因此我将
    聚合物/核心元素#0.3.5
    添加到依赖项列表中,希望这会起作用。我们已脱机同步。对于其他所有人来说,似乎没有一个好方法可以做到这一点。
    =0.3.5