2

我正在使用analyser1.7.1。最新的build_runner构建命令会生成以下错误。

flutter packages pub run build_runner build 无法预编译 build_runner:build_runner: ../../../sdk/flutter/.pub-cache/hosted/pub.dartlang.org/analyzer-1.7.1/lib/src/error /best_practices_verifier.dart:1998:14:错误:必须返回非空值,因为返回类型“字符串”不允许为空。字符串获取显示字符串 {

通常的flutter cleanpub cache repair命令似乎并没有解决问题,displayString也没有出现在我的代码库中的任何地方。

4

2 回答 2

2

9 天前有一个问题未解决。这是关键部分:

目前,目前的情况是:

  • 包:分析器 1.7.0 需要包:元 ^1.4.0
  • package:analyzer 1.7.1 与 1.7.0 内容相同,但需要 package:meta ^1.3.0
  • Flutter 稳定引脚包:元至 1.3.0

我不确定我们是如何遇到上述异常的——最近两个版本的分析器非常明确地说明了他们需要哪个版本的元数据。

@edlman 您的 pubspec 中有任何依赖项覆盖吗?

你是对的,我使用的是依赖于元 1.4.0 的 3rd 方 pkgs,所以我把它放到 dependency_overrides 来解决冲突。我没有想到它会导致这样的问题。我已将覆盖更改为 1.3.0,它工作正常,还没有问题

因此,我建议您也检查一下您的 pubspec 中是否存在 dependency_overrides。

于 2021-06-20T07:47:02.583 回答
2

这是analyser1.7.1的问题。

添加

dependency_overrides:
  analyzer: 1.7.0

pubspec.yaml.

Raina77ow 的答案中有更多详细信息。

于 2021-06-20T07:48:27.033 回答