是否可以为依赖的 Dart 包禁用空安全性?

Posted

技术标签:

【中文标题】是否可以为依赖的 Dart 包禁用空安全性?【英文标题】:Is it possible to disable null safety for a dependent Dart package? 【发布时间】:2021-10-29 04:39:55 【问题描述】:

我正在尝试使用 hive 构建应用,但 hive_flutter 包不支持 null 安全性。

有没有办法只关闭这个包的空安全性,或者有没有替代 hive_flutter 包的方法?

【问题讨论】:

【参考方案1】:

要关闭 null 安全性,请将 pubspec.yaml 中的 sdk 环境更改为:

environment:
  sdk: ">=2.7.0 <3.0.0"

【讨论】:

【参考方案2】:

根据Migrating to null safety,必须首先将所有依赖项迁移到空安全:

以下是迁移您拥有的每个软件包的基本步骤:

    等待您依赖的包迁移。 ...

迁移应用在技术上与迁移包相同。在迁移应用之前,请确保您的所有依赖项均已准备就绪。

但是 hive_flutter supports null safety 从版本 1.0.0(2021 年 3 月 5 日)开始。所以你应该简单地升级它。

【讨论】:

以上是关于是否可以为依赖的 Dart 包禁用空安全性?的主要内容,如果未能解决你的问题,请参考以下文章

空安全迁移:如何使用 intl 包迁移应用程序?

Dart 中的空安全是啥?

▩Dart-空安全(Null Safety)

如何在 beta 通道上使用 Flutter 将 Dart 设置为稳定通道(以避免空安全选择加入)

▩Dart-深入理解空安全

Dart 2.12 空安全