Error: A library can't opt out of null safety by default, when using sound null safety

Error: A library can't opt out of null safety by default, when using sound null safety

为空安全升级 Flutter 包时,我在 运行 flutter test:

时收到此错误
Error: A library can't opt out of null safety by default, when using sound null safety.
// @dart = 2.8
^^^^^^^^^^^^^^
Failed to load "/Users/xxxxx/test/text_test.dart":
  Compilation failed

答案就在那里,但我仍然困惑了一段时间,所以我在下面添加我的答案。

要解决您的问题,请从 text_test.dart 中删除以下行:

// @dart = 2.8

此注释用于选择退出健全的空安全(请参阅 this and )。但是,如果库(包)想要听起来空安全,则不允许这样做。

当您使用混合版本代码时也会出现此问题,即代码未完全迁移到可靠的 null 安全性。 运行 应用:

  1. 使用IDE

    main.dart 文件的顶部添加 // @dart=2.9,并使用播放 ► 图标 运行 应用程序。

    // @dart=2.9
    import 'package:flutter/material.dart';
    
    void main() {
      //...
    }
    
  2. 使用命令行

    flutter run --no-sound-null-safety
    

    或者具体一点(在 chrome 中说)

    flutter run -d chrome --no-sound-null-safety