Flutter软件包发布错误说软件包不兼容

时间:2020-06-16 09:18:46

标签: flutter flutter-dependencies

我前一段时间发布了一个软件包。但是经过新的分析,它会发出警告

与SDK dart不兼容的软件包

它显示

分析建议:

与SDK dart不兼容的软件包

由于导入路径为[ola_like_country_picker]

我不知道此错误来自何处。 这是指向软件包https://pub.dev/packages/ola_like_country_picker#-analysis-tab-

的链接

1 个答案:

答案 0 :(得分:1)

github issue

中已解决

TLDR

当flutter做联邦包裹时,我们谈到了给予包裹 两个版本号。我们通过创建两个软件包来解决了这个问题。

也许这里有两个软件包:

package:kernel_api which is a series of abstract classes. The major version is only bumped when the interfaces for parsing kernel

文件已损坏。 package:kernel_parser,其功能是从package:kernel_api返回抽象类的具体实例,该实例可以是 用于解析内核文件。该软件包的主要版本是 内核格式中断时会发生碰撞。在实践中可能会遵循 Dart SDK次要版本(因为它是主要版本)。

这表示您使用与 用于读取文件格式的接口的版本控制。如果这 有任何道理:) https://github.com/dart-lang/sdk/issues/39167#issuecomment-547646728

我在@jonasfj之间在奥尔胡斯市对此进行了讨论之后 @ johnniwinther,@ stefantsov和@jensjoha,我们正在考虑 将分析器和front_end的共享部分移动到新的想法 软件包(尤其是不依赖于内核)。那会 将分析器与内核完全分离。它不会直接 解决了这个问题,但是通过将 决定如何从任何一个导入内核(以及要导入哪个版本) 分析仪注意事项。然后,我们可以考虑以下选项:

Flutter's transformer imports kernel directly from the SDK using a relative path
Kernel increments their major version number with every SDK release, so that Flutter can be assured they have a compatible version
通过将正确的版本放在pubspec中来

内核 内核针对每个SDK版本发布了单独的软件包(例如,与Dart 2.7一起使用的kernel_2_7) 按照上面@jonasfj的建议,将内核分为两个包。

我目前正在等待分析仪和前端团队的反馈 关于这个想法。 https://github.com/dart-lang/sdk/issues/39167#issuecomment-547984002