凉亭:没有合适的角度版本

时间:2015-06-30 17:07:48

标签: bower angular-ui-grid

也许我不懂SemVer语法或者我不懂bower(我的版本是1.4.1),但我有一个 bower.json 的应用程序:

{
  "name": "MyApp",
  "description": "My AngularJS Project....",
  "version": "0.0.0",
  "homepage": "https://github.com/angular/angular-seed",
  "license": "MIT",
  "private": true,
  "dependencies": {
    "angular": "1.3.x",
    "angular-route": "1.3.x",
    "angular-loader": "1.3.x",
    "angular-mocks": "~1.3.x",
    "angular-ui-grid": "~3.0.0-rc.20",
    "angular-spinkit": "~0.3.3",
    "angular-bootstrap": "0.13.0",
    "bootstrap": "3.3.4",
    "angular-animate": "~1.3.x",
    "file-saver.js": "~1.20150507.2"
  },
  "resolutions": {
  }
}**

当我执行' bower update '时,它“无法找到合适的角度版本”,但我不明白为什么不这样做。这是输出(#1似乎是问题):

Unable to find a suitable version for angular, please choose one:
    1) angular#>=1.2.16 <=1.3.x which resolved to 1.2.28 and is required by angular-ui-grid#3.0.0-rc.22
    2) angular#1.3.16 which resolved to 1.3.16 and is required by angular-animate#1.3.16, angular-loader#1.3.16, angular-mocks#1.3.16, angular-route#1.3.16
    3) angular#1.3.x which resolved to 1.3.16 and is required by MyApp
    4) angular#>=1.3.0 which resolved to 1.3.16 and is required by angular-bootstrap#0.13.0
    5) angular#* which resolved to 1.3.16 and is required by angular-spinkit#0.3.3

所以我对该输出的阅读是所有软件包都会对版本1.3.16的角度感到满意,除了 angular-ui-grid (“已解析为1.2.28”)但为什么呢?不是1.3.16&gt; = 1.2.16&lt; = 1.3.x?那么Angular的1.3.16版本不是合适的版本吗?它不是唯一合适的版本吗?或者我可能误解了凉亭试图告诉我的事情。

我明白我可以选择其中一个选项甚至添加'!'坚持我的选择,但我不明白为什么需要选择。

由于

1 个答案:

答案 0 :(得分:0)

c0bra - 感谢你设置了那个plunker - 它帮助我轻松验证了我的信念(经过大量挖掘后)确定的问题是:

旧版本的semver.js中似乎存在一个错误 - 我向下,向下,向下追溯到代码中,&lt; = 1.3.x变为&lt; = 1.3.0-0,这意味着1.3.16未通过该测试。

但是这个错误已经在NPM提供的semver模块中得到修复 - 我能够使用你的plunker向我自己证明1.3.16通过'最新'的semver代码通过测试,就像你设置它一样,但是当我切换到较旧版本的semver时失败(例如“^ 2.3.0”,这似乎是bower包在其packages.json中所需要的)。

但即使是github上最新的bower也似乎对semver有^ 2.3.0依赖。所以我会看看我是否可以向任何维护凉亭的人提交升级请求。但是我最近没有看到很多关于bower / github的活动。

与此同时,我想我被迫回答上面的问题,因为我正在使用NPM来获得凉亭,我认为我不能轻易地覆盖它的semver依赖。