You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Flutter至3.10.4后执行dart pub upgrade --null-safety报错如何解决?

解决Dart 3.x中--null-safety flag不再支持的空安全迁移问题

Dart 3.0及以上版本已经强制启用空安全,--null-safety参数在Dart 2.19之后就被移除了,因此你执行该命令会报错。针对你的旧项目(基于Dart 2.16.1开发),可以按以下步骤完成空安全迁移并适配Dart 3环境:

  • 第一步:检查项目空安全适配状态
    在项目根目录执行命令,分析依赖的空安全支持情况:

    dart pub outdated --mode=null-safety
    

    该命令会列出未支持空安全的依赖,以及各依赖可升级的空安全版本。

  • 第二步:处理未适配空安全的依赖

    • 优先将依赖升级到官方标注支持空安全的版本;
    • 若部分依赖无空安全版本,可寻找功能替代的兼容库,或临时通过dependency_overrides强制使用兼容版本(不推荐长期依赖)。
  • 第三步:启动交互式空安全迁移工具
    直接在项目根目录运行迁移命令,工具会引导你完成代码的空安全适配(添加?、!标记,修复空引用风险):

    dart migrate
    

    按照工具提示完成代码修改后,确认迁移并生成适配后的代码。

  • 第四步:更新依赖并验证项目
    迁移完成后,直接执行以下命令更新依赖:

    dart pub upgrade
    

    随后执行Flutter命令验证项目是否正常运行:

    flutter pub get
    flutter run
    

    修复可能残留的空安全相关编译错误即可。

备选方案(若迁移遇阻碍):
如果部分依赖无法适配Dart 3,可临时回退到Dart 2.19版本完成迁移,再升级回Dart 3。但优先推荐直接使用Dart 3环境完成迁移,避免来回切换SDK的繁琐。

内容的提问来源于stack exchange,提问作者Snow Star

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 10:17:09