使用 build_runner 自动生成代码时找不到名为“pubspec.yaml”的文件

Joã*_*tes 5 flutter

在我使用代码生成将 Flutter 更新到 v1.22 之后,build_runner它不起作用。有人告诉我,在这个版本中使用的正确命令是:

dart pub run build_runner watch --delete-conflicting outputs

但是,我收到以下错误:

Could not find a file named "pubspec.yaml" in "C:\Users\jpiab\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\_fe_analyzer_shared-2.2.0".
Run Code Online (Sandbox Code Playgroud)

我不知道为什么要pubspec.yaml在该文件夹中查找,因为该文件夹不是当前工作目录。

- - 编辑 - -

该文件存在于路径中: C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/_fe_analyzer_shared-2.2.0

飞镖只是在错误的地方寻找它。关于如何解决它的任何想法?

ser*_*yaz 11

我为我解决了。我在 Ubuntu 20.04.01 LTS 中使用 Android Studio。

首先运行这个命令:

flutter pub get
Run Code Online (Sandbox Code Playgroud)

运行此命令后:

flutter packages pub run build_runner build
Run Code Online (Sandbox Code Playgroud)

或者:

flutter packages pub run build_runner watch
Run Code Online (Sandbox Code Playgroud)

来源:https : //github.com/flutter/flutter/issues/50092


Maz*_*341 3

删除 .pub-cache 文件夹。然后运行pub get

编辑:
如果上述方法不起作用,则删除该文件夹

C:\Users\jpiab\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org_fe_analyzer_shared-2.2.0

然后pub get从项目目录中运行。