首页 > 解决方案 > 由于依赖项不支持 null 安全性,因此无法以可靠的 null 安全性运行

问题描述

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

标签: flutterdart-null-safety

解决方案


好吧,看看官方文档

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

但是,混合版本的程序不能保证完全空安全应用程序所具有的运行时健全性。null 有可能从 null 不安全库泄漏到 null 安全代码中,因为防止这种情况会破坏未迁移代码的现有行为。

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

所以运行配置会是这样
flutter run --no-sound-null-safety

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


推荐阅读