14

在升级 Flutter 包以实现 null 安全性时,运行时出现此错误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

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

4

2 回答 2

23

当你有一个混合版本的代码时也会出现这个问题,即代码没有完全迁移到健全的空安全性。要运行应用程序:

  1. 使用 IDE

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

    // @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
    
于 2021-04-04T12:09:59.733 回答
6

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

// @dart = 2.8

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

于 2020-11-27T04:56:04.523 回答