【问题标题】:pub upgrade downgrades my main-packagespub upgrade 降级了我的主包
【发布时间】:2014-05-23 20:33:54
【问题描述】:

这是我的依赖列表:

dependencies:
  browser: any

  polymer: any
  polymer_elements: any

  angular: any

  lawndart: any
  validate: any
  http_utils: any

如果我说“酒吧升级”,这就是我得到的结果

Resolving dependencies... (42.5s)
  analyzer 0.12.2 (4 newer versions available)
  angular 0.9.10
  args 0.9.0 (3 newer versions available)
  barback 0.11.1 (2 newer versions available)
  bignum 0.0.5
  browser 0.9.1 (3 newer versions available)
  cipher 0.6.0 (1 newer version available)
  code_transformers 0.0.1-dev.2 (4 newer versions available)
  collection 0.9.1
  crypto 0.9.0
  csslib 0.9.2
  custom_element 0.10.1
  di 0.0.34
  event_bus 0.2.3 (1 newer version available)
  fixnum 0.9.0
  html5lib 0.9.2 (1 newer version available)
  html_import 0.9.0
  http_utils 1.2.10
  intl 0.8.10+4 (9 newer versions available)
  json 0.10.0
  lawndart 0.6.5
  logging 0.9.1+1
  logging_handlers 0.8.0
  matcher 0.10.0
  meta 0.8.8
  mock 0.10.0+1
  mutation_observer 0.9.0
  observe 0.10.0-pre.0 (3 newer unstable versions available)
  path 1.1.0
  perf_api 0.0.8
  polymer 0.8.10+4 (15 newer versions available)
  polymer_elements 0.0.2 (16 newer versions available)
  polymer_expressions 0.9.1 (2 newer unstable versions available)
  route_hierarchical 0.4.17
  shadow_dom 0.9.2
  smoke 0.1.0-pre.2
  source_maps 0.9.0
  stack_trace 0.9.3+1
  template_binding 0.9.1 (2 newer unstable versions available)
  unittest 0.10.1+2
  unmodifiable_collection 0.9.2+1
  utf 0.9.0
  uuid 0.3.0
  validate 1.2.4
  yaml 0.9.0

聚合物 - 15 个新版本!!!!

如果我说“酒吧升级浏览器”

  analyzer 0.12.2 (4 newer versions available)
+ analyzer_experimental 0.8.6
< angular 0.0.7 (was 0.9.10) (15 newer versions available)
  args 0.9.0
  barback 0.11.1
  bignum 0.0.5
> browser 0.10.0+2 (was 0.9.1)
  cipher 0.6.0
  code_transformers 0.0.1-dev.2
  collection 0.9.1
  crypto 0.9.0
  csslib 0.9.2
  custom_element 0.10.1
  di 0.0.34
  event_bus 0.2.3
  fixnum 0.9.0
  html5lib 0.9.2
  html_import 0.9.0
  http_utils 1.2.10
  intl 0.8.10+4
+ js 0.2.2
  json 0.10.0
  lawndart 0.6.5
  logging 0.9.1+1
  logging_handlers 0.8.0
  matcher 0.10.0
  meta 0.8.8
  mock 0.10.0+1
  mutation_observer 0.9.0
  observe 0.10.0-pre.0
  path 1.1.0
  perf_api 0.0.8
  polymer 0.8.10+4
  polymer_elements 0.0.2
< polymer_expressions 0.8.10+4 (was 0.9.1) (2 newer versions available)
  route_hierarchical 0.4.17
  shadow_dom 0.9.2
  smoke 0.1.0-pre.2
  source_maps 0.9.0
  stack_trace 0.9.3+1
  template_binding 0.9.1
  unittest 0.10.1+2
  unmodifiable_collection 0.9.2+1
  utf 0.9.0
  uuid 0.3.0
  validate 1.2.4
  yaml 0.9.0
Changed 5 dependencies!

它降级了角度!!!!!

如果我更改浏览器的依赖项:

dependencies:
  browser: ">=0.10.0+2 <0.11.0"

结果:

> analyzer 0.13.5 (was 0.12.2)
  analyzer_experimental 0.8.6
  angular 0.0.7 (15 newer versions available)
> args 0.10.0+2 (was 0.9.0)
> barback 0.12.0 (was 0.11.1) (1 newer version available)
  bignum 0.0.5
  browser 0.10.0+2
  cipher 0.6.0 (1 newer version available)
> code_transformers 0.1.1+1 (was 0.0.1-dev.2)
  collection 0.9.1
  crypto 0.9.0
< di 0.0.24 (was 0.0.34) (10 newer versions available)
> event_bus 0.2.4 (was 0.2.3)
  fixnum 0.9.0
> html5lib 0.10.0 (was 0.9.2)
  http_utils 1.2.10
> intl 0.9.8 (was 0.8.10+4)
  js 0.2.2
  json 0.10.0
  lawndart 0.6.5
  logging 0.9.1+1
  logging_handlers 0.8.0
  matcher 0.10.0
  meta 0.8.8
  mock 0.10.0+1
> observe 0.10.0-pre.3 (was 0.10.0-pre.0)
  path 1.1.0
  perf_api 0.0.8
> polymer 0.10.0-pre.8 (was 0.8.10+4)
> polymer_elements 0.1.2+1 (was 0.0.2) (6 newer unstable versions available)
> polymer_expressions 0.10.0-pre.1 (was 0.8.10+4)
+ polymer_ui_elements 0.1.2 (6 newer unstable versions available)
  route_hierarchical 0.4.17
  smoke 0.1.0-pre.2
  source_maps 0.9.0
  stack_trace 0.9.3+1
> template_binding 0.10.0-pre.1 (was 0.9.1)
  unittest 0.10.1+2
  utf 0.9.0
  uuid 0.3.0
  validate 1.2.4
+ web_components 0.3.3
  yaml 0.9.0  

我使用的是 Dart 1.3.0!!!所以 - 这是今天的最新版本。 我不知道 pub upgrade 在这里做什么,但它不管理依赖项......

有什么提示吗?

[更新]
作为一种解决方法,我将依赖项更改为

dependencies:
  polymer_elements:
    git: https://github.com/ErikGrimes/polymer_elements

  polymer_ui_elements:
    git: https://github.com/ErikGrimes/polymer_ui_elements

  angular: any
  #  git: https://github.com/angular/angular.dart
  #    Incompatible version constraints on html5lib:
  #    - angular depends on version >=0.9.2 <0.10.0
  #    - polymer depends on version >=0.10.0 <0.11.0

  lawndart: any
  validate: any
  http_utils: any

直接链接到 GitHub 几乎可以解决所有问题。 除了 Angular!!!!

Resolving dependencies... (50.0s)
< angular 0.0.7 (was 0.9.10) (15 newer versions available)
> barback 0.12.0 (was 0.11.1) (1 newer version available)
  cipher 0.6.0 (1 newer version available)
< di 0.0.24 (was 0.0.34) (10 newer versions available)

非常沮丧,我花了将近 3 小时才拿到最新的聚合物版本,而 angular 仍然落后 15 个版本。

【问题讨论】:

    标签: dart dart-pub


    【解决方案1】:

    这里是关于类似经历的讨论 https://groups.google.com/forum/#!searchin/angular-dart/0.0.7/angular-dart/PnvkUudHulg/ZtM3Y8xH_ugJ

    我猜你应该在每个获取奇怪(太旧)版本的依赖项上添加版本约束,直到 pub upgrade 抱怨它无法解决依赖项。 这可能有助于找到罪魁祸首。

    pub deps 命令是在 Dart 1.4 中添加的,用于显示哪个包依赖于哪些其他包。

    【讨论】:

    • 谢谢,是的 - 已经尝试过但放弃了。我采取了另一种方法(请参阅我更新的问题)。我花了将近 3 个小时才作弊“酒馆升级”...
    • 看来罪魁祸首之一是polymer_elements。很抱歉。我们有更长的时间没有发布更新 :( 如果你在 Angular 上添加版本约束怎么办?
    • 向 polymer_elements 添加版本约束应该与 git 依赖具有相同的效果。当我们将最近的更新作为预发布发布时,需要一个非常具体的版本约束来使pub upgrade 获取它们:'>=0.2.0-pre.5'。如果没有强制执行它的约束,则不会获取内部版本号后带有破折号的依赖项。
    • 如果我使用 angular:"0.9.10" 那么我在分析器上得到不兼容的版本约束: - 角度取决于版本 >=0.12.0 =0.10。 0
    • 您仍然可以添加dependency_overrides: analyzer: '&gt;=0.12.0'
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-01
    • 1970-01-01
    • 2020-09-25
    相关资源
    最近更新 更多