Flutter2.0兼容问题
因为依赖冲突或者其他插件包内的错误导致编译失败。具体有:
- 一些库不支持空安全
- 版本不兼容
一些库不支持空安全
在将dart和flutter的sdk升级到支持空安全校验的sdk版本后。出现有些库使用较低版本sdk实现的,那个低版本是不支持空安全的。
Error: Cannot run with sound null safety, because the following dependencies
don't support null safety:
- package:dio
- package:http_parser
- 兼容操作:
- 将项目中需要进行加!和?的空安全操作更具控制台报错加上
- 由于有些依赖不支持空安全,如上面的
- package:dio
- package:http_parser
解决方法:
在执行的首个dart文件的首行加上双斜杠注释,使其使用非健全的空安全模式:// @dart=2.9
- 实现整个项目健全的空安全模式:
- 删除 // @dart=2.9注释
- 将不支持空安全的依赖库替换或更新为支持空安全的依赖库
- 对应更新无望的库,下载其源码
- 将库改为支持 nullsafety 语法的版本
environment: sdk: '>=2.12.0 <3.0.0'
- 执行dart pub get命令,执行代码手动为报错的代码添加?!的空安全
- 将库改为支持 nullsafety 语法的版本
版本不兼容
当运行项目时可能会提示版本不兼容,这个一般改变依赖的版本就可以了。
网友评论