使用镜像后,dart 项目的 pub 构建失败

pub build failed for dart project after using mirrors

我依靠 mythz 对 Add JSON serializer to every model class? 的回答来制作一个非常简单的对象,可以与 JSON 一起使用,当我 运行 它时它工作正常。但后来我意识到我什至不需要那个对象并删除了我添加的所有代码,包括 dart:mirrors.

的导入

然后我再次尝试 运行 我的 Dart webapp,尽管主页立即出现,但 ChromeDevEditor 一直显示 "Building main.dart"。这和往常一样,但这次花了更长的时间,所以我试着点击一些应该调用函数的东西。没用。 我关闭了 chrome 和 ChromeDevEditor 并再次重新启动它。现在它下面什么也没有显示。

而且webapp还是不行,所以我在windows资源管理器中打开文件夹,Shift+右键单击打开那个目录下的CMD然后运行 pub build .因为这只会导致错误(我将在本段之后插入),所以我尝试了 运行ning pub get,然后是另一个 pub build。根本没有帮助。 这里是一个非冗长的 pub 构建的输出:

F:\Files\Programmieren\Dart\ChromeIDE\MyNewDartTry>pub build > nonverboseerror.t
xt
Build error:
Transform ScriptInlining on MyNewDartTry|web/index.html threw error: Could not f
ind asset browser|lib/dart.js.
null
null
[Error from Dart2JS on MyNewDartTry|web/main.dart]:
packages\route_hierarchical\client.dart:11:8:
Can't read 'package:logging/logging.dart' (Could not find asset logging|lib/logg
ing.dart.).
import 'package:logging/logging.dart';
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[Dart2JS on MyNewDartTry|web/main.dart]:
1 warning(s) suppressed in package:route_hierarchical.
Build failed.

但我没有弄乱包裹... google 搜索显示 this link 看起来与我的错误消息有些相似。也许答案与 link 有关,也许不是。但是关于 link,alan-knight 说了以下内容:

This looks like the mirror system creation isn't given the package-root. You need two, one for the VM so it knows where the packages are, and one that is used in the code when creating the mirror system.

我想知道这对我来说意味着什么,因为我不再使用那个镜像代码,而且我没有在添加和删除该代码之间进行其他更改。 也许我不应该复制粘贴我没有完全理解的代码......

有什么想法吗?

编辑 logging/logging.dart 包没有在我的 pubspec.yaml 依赖项中指定,但是添加它和 运行ning pub get 没有帮助。酒吧说 "Got dependencies!" 就是这样。该包可能是我的 route_hierarchical 所必需的,因此已经在 pubs 列表中可以获取。

pub cache repair说它重新激活了 1 个包并解决了问题。非常感谢 Günter Zöchbauer :) 您介意将此表述为答案吗?

pub cache repair 应该可以解决您的日志包问题。

pub help 在可用命令
下显示 cache pub help cache 在可用子命令

下显示 repair

https://www.dartlang.org/tools/pub/cmd/

找到有关 pub 的更多信息