我前一段时间发布了一个软件包。但是经过新的分析,它会发出警告
与SDK dart不兼容的软件包
它显示
分析建议:
与SDK dart不兼容的软件包
由于导入路径为[ola_like_country_picker]
我不知道此错误来自何处。 这是指向软件包https://pub.dev/packages/ola_like_country_picker#-analysis-tab-
的链接答案 0 :(得分:1)
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的共享部分移动到新的想法 软件包(尤其是不依赖于内核)。那会 将分析器与内核完全分离。它不会直接 解决了这个问题,但是通过将 决定如何从任何一个导入内核(以及要导入哪个版本) 分析仪注意事项。然后,我们可以考虑以下选项:
通过将正确的版本放在pubspec中来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
内核 内核针对每个SDK版本发布了单独的软件包(例如,与Dart 2.7一起使用的kernel_2_7) 按照上面@jonasfj的建议,将内核分为两个包。
我目前正在等待分析仪和前端团队的反馈 关于这个想法。 https://github.com/dart-lang/sdk/issues/39167#issuecomment-547984002