我try 使用空安全,但它给出以下错误:

这需要启用"非空"语言功能.try

我将DART SDK约束从2.7.0更改为2.10.0,但它仍然显示此错误.

enter image description here

此外,我还升级了我的dart 和Flutter 翼SDK:

DART-SDK v2.10.2是可用的最新版本,基于您的 源.

Flutter (通道稳定,1.22.3...

推荐答案

为了实现零安全,

  1. 判断最新的Dart版本(应该是Dart 2.12或更高版本:)

    dart --version
    
  2. 更新dart版本,使用命令不满足上述点.

    dart pub upgrade --null-safety
    
    dart pub get
    
  3. 运行以下命令以了解项目中的哪些库需要升级到最新的空安全性.

    dart pub outdated --mode=null-safety
    

latest列显示当前版本,如果它是绿色的,这意味着依赖项实现的空安全特性,如果它是红色的,那么依赖项所有者需要实现它.

enter image description here

  1. 最后,运行DART迁移命令,对现有项目(现有项目)执行空安全迁移

    dart migrate
    
  2. 如果您的包已准备好迁移,则该工具会生成如下所示的行:

    通过访问查看迁移建议:

    http://127.0.0.1:60278/Users/you/project/mypkg.console-simple?authToken=Xfz0jvpyeMI%3D

Note:即使在运行upgrade --null-safety命令之后,您也会看到红色的最新列部分,这意味着特定依赖项还不支持空安全性,因此这意味着您无法迁移项目.

详情如下:https://dart.dev/null-safety/migration-guide

关于实施零安全的好博客:https://medium.com/flutterworld/flutter-null-safety-5d20012c2441

Flutter相关问答推荐

Flutter ReorderableListView在可滚动父级中无法完美工作

如何在Flutter的easy_translation包中链接嵌套的链接翻译?

无效字符(位于字符68处)flutter—update—... europe-west1.firebasedatabase.app/

想更新ListView上的索引点击块Flutter

从底部开始固定,然后使其可拖曳Flutter

在Fighter中,我如何在窗口的顶部和底部排列Widget?

Ffmpeg_kit_fltter:^6.0.3版权问题

怎么才能像这样在摆动着这些曲线呢?

我想创建一个可滚动的堆叠列表项,每个项都朝向屏幕

BaseInputfield和Textfield有什么不同?

使用 Flutter 显示/隐藏带有下拉抽屉动画的小部件

如何在Flutter 中使用选定的键和值从 map 列表创建 map

Flutter CarouselSlider中如何防止右图与放大的中心图重叠?

Flutter 包错误:此应用程序使用的是已弃用的 Android 嵌入版本

Firestore 使用 Flutter 以奇怪的格式保存数据

#Flutter/Riverpod - 使用 AsyncNotifier 时是否可以仅调用错误?

Getx Flutter 在更新值时抛出空错误

Flutter 本地通知在最新版本中不起作用

为什么这个循环只发生一次?Flutter /dart

Firebase Firestore 查询