Flutter:为什么包(flutter-tools)的变化没有影响(在flutter doctor中)?

Vil*_*abs 1 dart flutter

flutter doctor 有问题 -

 Oops; flutter has exited unexpectedly.
    Sending crash report to Google.
    Crash report sent (report ID: a5fb11a50ca9bb90)
    Unhandled exception:
    NoSuchMethodError: The getter 'isMacOS' was called on null.
    Receiver: null
    Tried calling: isMacOS
    #0      Object.noSuchMethod (dart:core-patch/dart:core/object_patch.dart:46)
    #1      IOSDevices.supportsPlatform (package:flutter_tools/src/ios/devices.dart:34)
    #2      DeviceManager._platformDiscoverers.<anonymous closure> (package:flutter_tools/src/device.dart:85)
    #3      WhereIterator.moveNext (dart:_internal/iterable.dart:439)
Run Code Online (Sandbox Code Playgroud)

这似乎是颤振的错误。(我不完全知道我做了什么,所以无法帮助重现它,但我被这个问题困住了。重新安装 flutter 也没有帮助。)

我正在尝试对平台签入进行硬编码ios/devices.dart,因为我在 Windows 上为 android 开发。

但我的改变 - `

@override
  bool get supportsPlatform {
    return false;
Run Code Online (Sandbox Code Playgroud)

` 没有影响。

flutter doctor 仍然在相同的行号处抛出相同的错误。

会不会是一些缓存问题?还是build问题?(到目前为止,似乎不需要构建这些包,但也许它们可以构建?)

xst*_*ter 6

不是在每次flutter命令调用时重新编译可执行的 flutter 工具,而是将快照保存在缓存中,当您升级 flutter 时重建该缓存(或者实际上只是在每个 git 提交到幕后的 repo 时)。

要手动触发重建,您可以删除您的 $FLUTTER_ROOT/bin/cache/flutter_tools.* 并且颤振工具将在您下次调用时重建 flutter