是时候升级dart null-safety了

本文档详细介绍了如何将Flutter项目升级至支持Null Safety的过程,包括升级依赖库、使用Dart工具进行迁移以及混合模式运行等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

出来了这么久了,是时候把项目升级并支持null-safety了。
记录一下我的步骤。

  1. 升级所有依赖的第三方库。如果有问题就找替代库。比如我使用了一个分享的插件,但是作者没有更新并支持null-safety, 但是有热心的网友会提供null-safety版本,直接git引用。
social_share_plugin:
    git:
      url: https://github.com/fareesh/social_share_plugin.git
      ref: master
  1. 确保所有的依赖库支持null-safety
dart pub outdated --mode=null-safety  #查看当前依赖的第三方库null-safety支持情况
dart pub upgrade --null-safety #更新所有依赖的第三方
  1. 开始迁移
dart migrate
#或
dart migrate --skip-import-check

升级有两种模式
1.非健全,项目直接升级到 Flutter 2.0 而没有迁移 App 就是 unsound null safety
2.完全健全(建议):当所有的依赖所有的库全部都迁入 null-safety,此时即为健全的空安全

如果你的dart文件已经支持null-safety,再第一行加上// @dart=2.9, 这样就告诉先不启用

// @dart=2.9

这样可以保证项目能混合模式成功运行。

Xcode是一个用于开发iOS、macOS、tvOS和watchOS应用的集成开发环境(IDE),在配置过程中添加`--no-sound-null-safety`是为了处理 Dart 语言中的空安全检查。如果你想要禁用这个特性,通常是在构建命令行中,当你运行 `flutter build` 或 `dart build` 时,需要传递一个特定的命令行标志。 要在Xcode中设置这个选项,首先确保你正在使用 Flutter CLI(命令行工具)。当你启动一个新的 Flutter 项目或者对现有项目进行更新时,可以这样做: 1. 打开终端,切换到你的 Flutter 项目目录。 2. 使用以下命令创建一个新的 `pubspec.yaml` 文件,如果它还没有的话: ``` flutter create . --template=package ``` 3. 进入新创建的 `lib` 目录并打开 `pubspec.yaml` 文件,找到 `build_options` 节点(如果没有就添加一个): ```yaml build_options: # 添加下面这行 sound_null_safety: false ``` 4. 保存文件,然后在终端中运行 `flutter pub get` 来下载相应的依赖项,并应用新的设置。 5. 如果你需要在编译时永久性地禁用这个选项,可以在 `.flake8` 文件(如果存在)或 `.dart_tool/pub_options` 文件中设置全局开关。但是这通常是不必要的,因为默认情况下 Sound null safety 已经开启,仅在遇到未初始化变量的警告时才会生效。 记住,在某些情况下,关闭 Sound null safety 可能会影响代码的安全性和健壮性,所以除非明确了解并有理由,否则不建议随意禁用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值