Flutter:这需要启用 'non-nullable' 语言功能

标签 flutter dart

MyApp 中出错构造函数

const MyApp({Key? key}) : super(key: key);

This requires the 'non-nullable' language feature to be enabled. Try updating your pubspec.yaml to set the minimum SDK constraint to 2.12.0 or higher, and running 'pub get'.


但是默认情况下 sdk 已经设置为 2.12.0
sdk: ">=2.12.0 <3.0.0"
该项目是使用最新版本的 Flutter 和 Dart 创建的。
Dart 版:2.13.3 flutter 版本:2.2.2

最佳答案

几种可能:

  • 该文件可能已覆盖语言级别。您可以通过在顶部添加注释来为文件设置特定语言版本,例如:// @dart=2.9 .这将禁用该文件的空安全。检查这样的注释,删除以解决错误
  • 同样,如果您的应用程序的入口点(通常是 lib/main.dart )具有覆盖的语言级别,它会将其应用于项目。使用 flutter run 时出现此错误,但在开发过程中通常不会在 IDE 中显示
  • 您的 IDE 使用的 flutter 版本可能与您用于捕获版本的版本不同。您可以通过运行 which flutter 检查您的 flutter 安装位置(在类似 Linux 的系统上)查看您的 PATH 上的位置可执行文件是。然后,您可以将其与您的 IDE 使用的版本进行比较(因 IDE 而异)
  • 关于Flutter:这需要启用 'non-nullable' 语言功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68168097/

    相关文章:

    dart - 为桌面构建 Flutter 应用程序

    flutter - Dart:如何在不调用函数的情况下引用带有参数的函数?

    rest - 将我的 Postman 调用转换为 Dart/Flutter API 调用

    flutter - 如何在 flutter 中使用提供者功能后导航到另一个页面?

    flutter - Flutter 中如何检查输入是否是电子邮件地址?

    dart - Flutter:如何在列表中添加几个过滤器并显示新结果

    dart - Flutter (Dart) 移除 firebase 数据库监听器

    flutter - 如何限制 flutter Textfield 或 TextFormField 只接受英语?

    flutter - 如何在Flutter的ListView上添加可禁用的小部件?

    sqlite - 获取 'Dart_NewString':在构建dart-sqlite时找不到标识符