无法使用健全的null安全性运行,因为依赖项不支持null安全性



当我在项目中使用random_string生成器依赖项时,我遇到了这个问题,它的发布版本不支持空安全性。所以我切换到了实现零安全的预发布版本,这就解决了问题。

我在依赖项中使用了这个:

random_string:^2.1.0

我使用解决了这个问题

random_string:^2.2.0-零安全

在我的情况下,random_string不支持null安全性,但在您的情况下它可以是任何依赖项。如果你愿意,你也可以检查pub.dev并键入你正在使用的依赖项。希望能有所帮助。非常感谢。

好吧,看看官方文档

Dart通过静态和运行时检查的组合提供了健全的零安全性。每个选择为空安全的Dart库都会得到所有的静态检查,并有更严格的编译时错误。即使在包含null不安全库的混合版本程序中也是如此。一旦您开始将一些代码迁移到零安全性,您就开始获得这些好处。

然而,混合版本的程序不可能具有运行时的可靠性保证一个完全为null的安全应用程序具有。null有可能从null不安全库泄漏到null安全代码中,因为阻止这将打破未磨碎的现有行为密码

链接:https://dart.dev/null-safety/unsound-null-safety
建议:由于您使用的依赖项不支持null安全性,我认为最好的方法是在运行/构建时禁用健全的nullsafety功能。使用此标志--no-sound-null-safety

因此运行配置将如下
flutter run --no-sound-null-safety

但这是迄今为止最好的解决方案:Use compatible dependencies as close as possible这意味着,当您有一个使用nulsafety的项目时,请使用已经支持nulsafty的依赖项。

最新更新