参考: https://dart.dev/null-safety/migration-guide http://events.jianshu.io/p/a9d49fe637ba
修改项目yaml sdk配置
environment:
sdk: ">=2.12.0 <3.0.0"
修改IDEA SDK path(这里我用的fvm) 一:迁移依赖包,先迁叶子,从导入包最少到最多
1.检查Dart2.12版本(前提)
$ dart --version
2.检查依赖状态: dart pub outdated --mode=null-safety
dart pub outdated --mode=null-safety
对勾√表示支持空安全 3.统一升级到支持空安全的最新版本(会更新yaml)
dart pub upgrade --null-safety
键入提示命令
dart pub upgrade --nullsafety dio connectivity badges oktoast flutter_screenutil cached_network_image pull_to_refresh path_provider get photo_view localstorage event_bus launch_review image_picker logger date_format package_info url_launcher shared_preferences permission_handler
等待下载… 迁移结果提示 4.检查依赖迁移状态
dart pub outdated --mode=null-safety
5.修改不支持空安全的依赖(手动修改或替代方案) 6.确保所有依赖项都是空安全和最新的
dart pub outdated --mode=null-safety
二:迁移代码 1.分析迁移警告,查看有问题的代码
dart pub get
dart analyze
2.启动迁移工具(必须所有叶子先迁完)
dart migrate
会看到报错和提示 按提示修改1
environment:
sdk: ">=2.7.0 <3.0.0"
按提示修改2
dart pub get
再来一次
dart migrate
3.打开链接,可以看到相关提示,点击方框接受迁移改动
|