目录

dart pub downgrade

Downgradepub 工具的命令之一。

$ dart pub downgrade [--[no-]offline] [-n|--dry-run] [dependencies...]

不带任何附加参数,dart pub downgrade 获取当前工作目录中 pubspec.yaml 文件中列出的所有依赖项的最低版本,以及它们的传递依赖项。例如

$ dart pub downgrade
Resolving dependencies... (1.2s)
+ barback 0.13.0
+ collection 0.9.1
+ path 1.2.0
+ source_maps 0.9.0
+ source_span 1.0.0
+ stack_trace 0.9.1
Changed 6 dependencies!

dart pub downgrade 命令会创建一个 lockfile。如果已经存在一个,pub 会忽略该文件并从头生成一个新的,使用所有依赖项的最低版本。

有关包解析和系统包缓存的更多信息,请参阅dart pub get 文档

降级特定依赖

#

可以告诉 dart pub downgrade 将特定依赖项降级到最低版本,同时尽可能保留其余依赖项不变。例如

$ dart pub downgrade test
Resolving dependencies...
  barback 0.15.2+2
  bot 0.27.0+2
  browser 0.10.0+2
  chrome 0.6.5
  collection 1.1.0
  path 1.3.0
  pool 1.0.1
  source_span 1.0.2
< stack_trace 0.9.2 (was 1.1.1)
  stagexl 0.10.2
< test 0.10.0 (was 0.11.4)
These packages are no longer being depended on:
- matcher 0.11.3
Changed 3 dependencies!

如果您正在降级特定的依赖项,pub 会尝试查找任何符合新依赖项约束的传递依赖项的最高版本。任何传递依赖项通常也会因此而降级。

获取新的依赖

#

如果在运行 dart pub downgrade 之前将依赖项添加到 pubspec,它将获取新依赖项及其任何传递依赖项。这与 dart pub get 的行为相同。

移除依赖

#

如果在运行 dart pub downgrade 之前从 pubspec 中删除依赖项,则该依赖项将不再可用于导入。只要没有剩余的直接依赖项也依赖于已删除依赖项的任何传递依赖项,它们也会被删除。这与 dart pub get 的行为相同。

离线降级

#

如果您没有网络访问权限,仍然可以运行 dart pub downgrade。因为 pub 将包下载到系统上所有包共享的中央缓存中,因此它通常可以找到先前下载的包,而无需使用网络。

但是,默认情况下,如果您有任何托管依赖项,dart pub downgrade 会尝试上线。如果您不希望 pub 这样做,请传递 --offline 标志。在离线模式下,pub 只会在您的本地包缓存中查找,尝试从已有的内容中找到一组适用于您的包的版本。

选项

#

有关适用于所有 pub 命令的选项,请参阅全局选项

--[no-]offline

#

默认情况下,pub 连接到网络以检索托管包 (--no-offline)。要改用缓存的包,请使用 --offline。有关详细信息,请参阅离线获取

--dry-run-n

#

报告哪些依赖项会更改,但不进行任何更改。

--tighten

#

更新 pubspec.yaml 中依赖项的下限以匹配已解析的版本,并返回更改的约束列表。可以应用于特定依赖项

在工作空间中

#

Pub 工作空间中,dart pub downgrade 将降级整个工作空间中的所有依赖项。