最近,Flatter团队宣布Dart语言现在支持sound null safety!在Dart 2.12和Flatter 2中提供.我想将应用程序代码迁移到空安全.

如何将我的包迁移到零安全,

如果有人能给出迁移到零安全的说明,那就太好了.

推荐答案

  1. 在终端运行flutter upgrade以升级Flutter

  2. 运行dart migrate以运行DART迁移工具

  3. 解决迁移工具显示的所有错误

  4. 运行flutter pub outdated --mode=null-safety以打印所有过期的内容 包裹

    enter image description here

您可以看到所依赖的包是否支持空安全性.

  1. 运行flutter pub upgrade --null-safety以升级所有软件包 自动
  2. 判断代码中的错误并解决它们
  3. 再次运行dart migrate,现在应该成功了.请遵循 链接以签出建议的更改
  4. "Apply Migration"
  5. 再次判断代码中的错误并修复它们

恭喜你,完成后,你现在应该能够运行应用程序,声音零安全.

在命令行中运行flutter run,应用程序应在命令行显示以下内容的情况下运行:

enter image description here

Dart相关问答推荐

Dart:判断泛型函数的类型 T

dart 中的 Function() 和 Function 有什么区别?

带有字符串键的 Dart Map,与忽略大小写进行比较

Dart/Flutter ffi(外部函数接口)本机回调,例如:sqlite3_exec

停止在缓存中保存 Flutter Web Firebase 托管

如何在没有 Scaffold.drawer 的情况下使用 Drawer?

如何限制TextSpan小部件的文本长度

Flutter模糊叠加

Flutter 错误:The _ScaffoldLayout custom multichild layout delegate forgot to lay out the following child

全局减慢 Flutter 中的动画

如何缩小从 Dart 编辑器编译的 JavaScript 代码?

如何在 Angular.Dart 中以编程方式添加组件?

如何使用 Dart 和 web 以 60fps 的速度驱动动画循环?

从 Dart 调用 javascript

可以在 Dart 中的抽象类中声明静态方法吗?

pub 依赖和 dev_dependencies 有什么区别?

Dart 中的 urlencoding

如何停止 Dart 的 .forEach()?

如何在 Dart 中定义接口?

字符串枚举