【问题标题】:Error: A library can't opt out of null safety by default, when using sound null safety错误:当使用健全的空安全性时,默认情况下库不能选择退出空安全性
【发布时间】:2021-03-09 22:30:10
【问题描述】:

在升级 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

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

【问题讨论】:

    标签: flutter dart dart-null-safety


    【解决方案1】:

    当您有混合版本的代码时也会出现问题,即代码没有完全迁移到可靠的 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
      

    【讨论】:

      【解决方案2】:

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

      // @dart = 2.8
      

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

      【讨论】:

        猜你喜欢
        • 2021-09-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-15
        • 1970-01-01
        • 2022-01-24
        • 2019-03-23
        • 2021-10-09
        相关资源
        最近更新 更多