flutter - 由于依赖项不支持 null 安全性,因此无法以可靠的 null 安全性运行
问题描述
当我为我的项目使用 random_string 生成器依赖项并且其发布的版本不支持 null 安全性时,我遇到了这个问题。所以我切换到它的预发布版本,实现了空安全并解决了这个问题。
解决方案
好吧,看看官方文档
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 的依赖项。
推荐阅读
- json - Python 请求:- simplejson.errors.JSONDecodeError:预期值:第 1 行第 1 列(字符 0)
- css - 使用 Bootstrap 和 MDBootstrap 时如何选择使用哪个类?
- vba - Web 抓取调试打印 LocationURL 返回意外值
- typescript - 如何在 Vue 3 中添加对全局组件的类型支持?
- javascript - 如何在 VS Code 中启用 mjs 文件的类型检查
- selenium - 探索向希望自行运行测试的非技术业务团队提供 Selenium 测试的选项
- git - 致命:无法访问“https://xxxx.git/”:服务器证书验证失败。CAfile:/etc/ssl/certs/ca-certificates.crt CRLfile:无
- python - 为什么 siunitx LaTeX 包会为 matplotlib 图形中的某些文本元素添加垂直偏移量?
- java - 通过 C# 和 Java 之间的 protobuf-net 进行序列化/解封
- firebase - Firebase如何检查路径包含值并允许读写其他路径