为什么 pub Upgrade 不升级软件包而只是显示它们

2024-03-21

我有:

>pub upgrade
Resolving dependencies... (6.2s)
  analyzer 0.18.0 (9 newer versions available)
  angular 0.14.0
  args 0.10.0+2 (5 newer versions available)
  barback 0.13.0 (14 newer versions available)
  bootjack 0.6.5+2
  browser 0.10.0+2
  code_transformers 0.1.6 (5 newer versions available)
  collection 0.9.4 (1 newer version available)
  di 2.0.2 (3 newer versions available)
  dquery 0.7.0+4
  html5lib 0.10.0 (4 newer versions available)
  intl 0.11.9
  logging 0.9.1+1 (2 newer versions available)
  path 1.3.0
  perf_api 0.0.9
  petitparser 1.2.2
  route_hierarchical 0.4.22 (1 newer version available)
  shadow_dom 0.10.0
  source_maps 0.9.4 (1 newer version available)
  source_span 1.0.0
  stack_trace 0.9.3+2 (6 newer versions available)
  typed_mock 0.0.4
  utf 0.9.0+1

所以我可以看到newer versions available但如何更新它们呢?


直接或传递依赖项具有版本约束,不允许使用较新的版本。

在 Dart 中,一个包只能导入一个版本。
所有依赖项都需要就一个版本达成一致。

据我所知,Java 中有一个包A可以导入包B1.0版本及安装包C即使当包裹C进口B在2.0版本中。
这在 Dart 中是不可能的,整个应用程序必须使用相同版本的B.

为了找出阻止升级的原因,我通常会在我的pubspec.yaml强制执行新版本。
跑步pub upgrade然后显示哪个依赖项阻止升级。

添加依赖约束

dependencies:
  html5lib: '>= 0.10.0'<

run

pub upgrade

检查结果

这通常需要多次迭代才能找出罪魁祸首。

pub deps -s list

显示所有依赖关系和约束的有用概述

您还可以添加一个dependency_overrides给你的pubspec.yaml.

dependency_overrides:
  html5lib: '>= 0.10.0'

仅强制执行新版本并忽略可能的不兼容性。
(http://pub.dartlang.org http://pub.dartlang.org不允许上传包含以下内容的包dependency_overrides.)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 pub Upgrade 不升级软件包而只是显示它们 的相关文章

随机推荐