Dart/Flutter:不同版本的依赖处理。会不会有版本冲突?

问题描述 投票:0回答:1

飞镖/扑动

想象一下:

有套餐A、套餐B、套餐C。 包 A 依赖于包 B。 包 B 对包 C 具有 dev_dependency 且具有固定版本。

现在想象一下包 A 也对包 C 具有依赖关系(甚至是 dev_dependency),但具有不同的固定版本。为包 A 运行 Flutter pub get 不会出现抱怨,因为包 C 隐藏在包 B 的 dev_dependency 部分中。

但是这个星座会出现任何类型的错误或运行时错误吗?那么将使用哪个版本的 Package C?

干杯, 奥加

flutter dart package version conflict
1个回答
0
投票

这在 Dart 中有记录:https://dart.dev/tools/pub/versioning

如果您使用固定版本号,则软件包版本需要完全匹配,您不能拥有具有不同版本号的同一软件包的 2 个副本。

当您执行

dart pub get
命令时,将会检查这一点,如果发现任何版本不匹配,该工具会告诉您。这发生在构建时,所以早于运行时。

Dart 方法是使用版本约束,以便可以找到包 C 的匹配版本,该版本与包 A 和 B 的范围约束相匹配。

© www.soinside.com 2019 - 2024. All rights reserved.