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

Flutter 3.10.0升级后使用--no-sound-null-safety报错求助

Flutter 3.10/Dart 3.0 中--no-sound-null-safety参数报错的解决方案

问题描述

升级到Flutter 3.10.0(Dart 3.0.0)后,调试iOS/Android模拟器时触发以下报错:

Could not find an option named "no-sound-null-safety".
Run 'flutter -h' (or 'flutter -h') for available flutter commands and options.

尝试执行flutter run --no-sound-null-safety以及在Android Studio中配置该参数后,问题仍未解决。

环境信息:

  • Flutter 3.10.0 • stable channel
  • Dart 3.0.0 (stable)
  • macOS arm64

原因

Dart 3.0 已完全移除对非空安全模式的支持,所有代码必须遵循空安全规范。--no-sound-null-safety参数在Dart 3.0及对应Flutter 3.10+版本中已被删除,因此会出现找不到该选项的报错。

解决方案

1. 升级依赖至支持空安全的版本

  • 执行flutter pub outdated查看项目中不支持空安全的依赖包;
  • 逐个升级这些依赖到支持空安全的版本(通常版本号≥2.x,或文档明确标注支持null safety);
  • 升级完成后执行flutter pub get更新依赖。

2. 迁移项目代码到空安全规范

若项目自身代码未适配空安全,需手动修改:

  • 为可能为null的变量添加?标记,如String? userName;
  • 使用空值合并运算符??处理null场景,如final displayName = userName ?? "Guest";
  • 谨慎使用!断言变量非null(避免空指针异常);
  • 运行dart migrate命令生成自动迁移建议,按提示完成代码调整。

3. 临时降级Flutter版本(不推荐)

如果暂时无法完成空安全迁移,可降级到仍支持--no-sound-null-safety的版本:

flutter downgrade 3.7.12

注意:降级仅为临时方案,长期建议完成空安全迁移以兼容后续版本。

内容的提问来源于stack exchange,提问作者Smith Ro

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 11:45:11