android - Flutter 安装错误,“状态不佳:未来已完成”
问题描述
我正在尝试在 Mac 上安装 Flutter,但出现错误“状态不佳:未来已完成”。下面是我的“flutter doctor -v”输出有什么想法我应该尝试解决这个问题吗?
MacBook-Pro:~$ flutter doctor -v
[✓] Flutter (Channel stable, v1.0.0, on Mac OS X 10.14.1 18B75, locale en-CN)
• Flutter version 1.0.0 at /Users/tortilla/dev/programs/flutter
• Framework revision 5391447fae (3 weeks ago), 2018-11-29 19:41:26 -0800
• Engine revision 7375a0f414
• Dart version 2.1.0 (build 2.1.0-dev.9.4 f9ebf21297)
⣾Unhandled exception:
Bad state: Future already completed
#0 _AsyncCompleter.complete (dart:async/future_impl.dart:39:31)
#1 _NativeSocket.startConnect.<anonymous closure>.connectNext.<anonymous closure> (dart:io/runtime/binsocket_patch.dart:490:23)
#2 _NativeSocket.issueWriteEvent.issue (dart:io/runtime/binsocket_patch.dart:844:14)
#3 _NativeSocket.issueWriteEvent (dart:io/runtime/binsocket_patch.dart:851:12)
#4 _NativeSocket.multiplex (dart:io/runtime/binsocket_patch.dart:872:11)
#5 _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:171:12)
解决方案
如本Flutter 问题中所述,您可以运行flutter config --no-analytics
以禁用对谷歌分析的请求。这样做后我不得不重新启动终端。那时的命令flutter doctor
似乎有效。
但是,如果您仍然收到问题,flutter build
或者这可能是由于此Dart 问题flutter pub get
中提到的 Dart Pub 库中的错误。问题在于似乎发出的一些网络请求。dart pub get
在我的 Mac 上,问题是由 Avast 似乎阻止了这些请求触发的。用另一个 AV 替换 Avast 并使用 Mac 的内置防火墙似乎可以解决这个问题。这可能充其量只是一种临时解决方法,因为更改您的 AV 程序是一种极端的解决方案。