Flutter2 升级:为什么 build_runner 包不是空安全的

问题描述

我正在尝试将我的 Flutter 项目升级Flutter2。我看到我所有的包都是空安全的,但是 bulid_runner

$ Flutter pub outdated --mode=null-safety

Showing dependencies that are currently not opted in to null-safety.
[✗] indicates versions without null safety support.
[✓] indicates versions opting in to null safety.

Package Name  Current  Upgradable  Resolvable  Latest   

direct dependencies: all support null safety.

dev_dependencies:
build_runner  ✗1.12.2  -           ✗1.12.2     ✗1.12.2  
No resolution was found. Try running `Flutter pub upgrade --null-safety --dry-run` to explore why.

1 dependency is constrained to a version that is older than a resolvable version.

我的问题是如果不支持这么重要的包,我如何升级Flutter2。我该如何解决这个问题?有人见过这个问题吗?

解决方法

遇到同样的问题。实际上,正如 migration guide 所说,在迁移项目之前,您应该等待所有依赖项迁移到空安全。

但是。如果您没有在代码的任何地方引用 build_runner 包,而是仅将其用作命令行工具集,则您可以忽略它还不是空安全的事实。只需使用参考指南进行迁移即可。

我需要将此包用于新版本的 mickito 以生成测试模拟。尽管它不是空安全的,但我成功地将它用于 Dart >=2.12 和 Flutter >=2.0。

,

enter image description herebuild_runner 包从 2.0.0 版本开始是空安全的。