dart migrate提示存在未迁移空安全依赖但pub检查全部支持怎么办
Dart空安全迁移依赖检测冲突解决方案
出现dart migrate提示存在未空安全迁移依赖、但flutter pub outdated --mode=null-safety显示所有依赖均支持空安全的问题,可按以下步骤排查解决:
- 首先清理缓存并重建依赖索引
依次执行以下命令:
执行完成后重新运行flutter clean rm pubspec.lock flutter pub cache repair flutter pub getdart migrate检测问题是否解决。 - 检查dev_dependencies与强制覆盖配置
flutter pub outdated默认不会标记被强制锁定的依赖存在升级空间,需要手动检查两个配置项:dev_dependencies下的测试、构建工具类依赖(如test、build_runner等)的版本是否符合空安全要求dependency_overrides节点下是否有强制指定旧版本的dwds、flutter_test相关包,如有调整为兼容的空安全版本即可
- 跳过内置依赖检测
若报错指向flutter_tools测试目录、dwds等Flutter SDK内置依赖,不需要手动升级这些内置包,可直接运行带参数的迁移命令跳过第三方导入检查:dart migrate --skip-import-check - 手动迁移兜底
若自动迁移流程始终无法通过检测,可手动将pubspec.yaml中的Dart SDK约束调整为>=2.12.0 <3.0.0,在文件头部添加// @dart=2.12标记逐个适配空安全语法,无需走自动迁移流程。
内容的提问来源于stack exchange,提问作者Dalon
相关产品推荐
相关产品推荐

