介尘部落

文学|音乐|休闲娱乐|计算机技术|地球科学|社会学——知识成就命运


Flutter 项目迁移升级至空安全版本

版本提示

Dart 2.19 是最后一个支持空安全迁移并且包含 dart migrate 工具的版本。请使用最新的 Dart 2.19 SDK 进行迁移。你可以阅读 Dart 3 与空安全 了解更多。

本文将介绍如何将你的代码迁移至 空安全。以下是对你的 package 逐个迁移的基本步骤:

  1. 等待 你依赖的 package 迁移完成。
  2. 迁移 你的 package 的代码,最好使用交互式的迁移工具。
  3. 静态分析 package 的代码。
  4. 测试 你的代码,确保可用。
  5. 如果你已经在 pub.dev 上发布了你的 package,可以将迁移完成的空安全版本以 预发布 版本进行 发布

我们强烈建议你按顺序迁移代码,先迁移依赖关系中的处于最末端的依赖。例如,如果 C 依赖了 B,B 依赖了 A,那么应该按照 A -> B -> C 的顺序进行迁移。

切换至 Dart 2.19.6 版本

切换到 Dart SDK 的 2.19.6 稳定版,它包含在 Flutter 3.7.12 SDK 中。

执行下面代码查看是否使用了 Dart 2.19.6 版本:

$ dart --version
Dart SDK version: 2.19.6

检查所有依赖的迁移状态

通过以下命令检查你的 package 的迁移状态:

$ dart pub outdated --mode=null-safety

content_copy

如果你看到所有依赖都已支持空安全,就意味着你可以开始迁移了。否则请使用 Resolvable 列内列举的已迁移至空安全的版本。

升级依赖

在迁移你的 package 的代码之前,请将它的依赖项升级至空安全版本。

  1. 运行命令 dart pub upgrade --null-safety 将依赖升级至支持空安全的最新版本。 注意: 该命令会更改你的 pubspec.yaml 文件。
  2. 运行命令 dart pub get

迁移——使用迁移工具

迁移工具会带上一个非空安全的 package ,将它转换至空安全。你可以先在代码中添加 提示标记 来引导迁移工具的转换。

开始转换前,请做好如下的准备:

  • 使用 Dart SDK 的 2.19.6 版本。
  • 运行 dart pub outdated --mode=null-safety 以确保所有依赖为最新且空安全。

在包含 pubspec.yaml 的目录下,执行 dart migrate 命令,启动迁移工具。

阅读全文
公众号-介尘阅读时光
赞赏支持

0 Responses to “Flutter 项目迁移升级至空安全版本”

Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

×