dart pub downgrade
Downgrade 是 pub 工具 的命令之一。
$ 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。如果已存在 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
将降级整个工作区中的所有依赖项。
除非另有说明,否则本网站上的文档反映了 Dart 3.7.1。页面上次更新于 2024-12-10。 查看源代码 或 报告问题。