このページには広告が含まれる場合があります。
つい最近リリースされたMacの新OS「Big Sur」にアップデートして、pubspec.yamlファイルから「pub get」すると、こんな感じのエラーが出てしまう場合があります。
⣻Unhandled exception: Bad state: Future already completed #0 _AsyncCompleter.complete (dart:async/future_impl.dart:43:31) #1 _NativeSocket.startConnect.<anonymous closure>.connectNext.<anonymous closure> (dart:io-patch/socket_patch.dart:682:23) #2 _NativeSocket.issueWriteEvent.issue (dart:io-patch/socket_patch.dart:1102:14) #3 _NativeSocket.issueWriteEvent (dart:io-patch/socket_patch.dart:1109:12) #4 _NativeSocket.multiplex (dart:io-patch/socket_patch.dart:1130:11) #5 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12)
Flutterの公式サイトにもissueがあがっていました。
I upgrade system OS to Big Sur, Android studio can't run flutter. Using flutter doctor -v to check problem. "Bad state: Future already completed" is present. # flutter doctor -v [✓] Flutter (Channe...
ここで上げられている解決策としては、
- 純粋にTerminalから「flutter clean」を実行してから「pub get」
- アンチウィルスソフト(Kaspersky等)のアンインストール
- Adguard(広告ブロッカーだそうです)のアンインストール
- Terminalから以下のコマンドを実行
ln -s ~/Library/Application\ Support/Google/AndroidStudio4.1/plugins ~/Library/Application\ Support/AndroidStudio4.1
ですが、どれも完璧というわけではないようです。
ただ、いずれSDKのアップデートで解消されるとは思われます。