在 macOS 中运行 doctor 时,多数情况下会出现以下错误,如 LibreSSL SSL_read、Android license status unknown、Unable to find bundled Java version、HTTP Host Availability等,我们一个个看,看看如何解决这些问题。
xxx@xxxMacBook-Pro ~ % flutter doctor
Command exited with code 128: git fetch --tags
Standard error: fatal: unable to access
'https://github.com/flutter/flutter.git/': LibreSSL SSL_read:
error:02FFF03C:system library:func(4095):Operation timed out, errno 60
Doctor summary (to see all details, run flutter doctor -v):
[!] Flutter (Channel stable, 3.7.0, on macOS 12.6.3 21G419 darwin-x64, locale
zh-Hans-CN)
! Warning: `dart` on your path resolves to
/usr/local/Cellar/dart/2.2.0/libexec/bin/dart, which is not inside your
current Flutter SDK checkout at /Users/em_er/development/flutter. Consider
adding /Users/em_er/development/flutter/bin to the front of your path.
[!] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
✗ Android license status unknown.
Run `flutter doctor --android-licenses` to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/macos#android-setup for
more details.
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
[✓] Chrome - develop for the web
[!] Android Studio (version 2022.1)
✗ Unable to find bundled Java version.
[!] Android Studio (version 2022.1)
✗ Unable to find bundled Java version.
[✓] IntelliJ IDEA Ultimate Edition (version 2022.2.5)
[✓] VS Code (version 1.76.1)
[✓] Connected device (3 available)
HTTP Host availability check is taking a long time...[!] HTTP Host Availability
✗ HTTP host "https://maven.google.com/" is not reachable. Reason: An error
occurred while checking the HTTP host: Connection terminated during
handshake
✗ HTTP host "https://cloud.google.com/" is not reachable. Reason: An error
occurred while checking the HTTP host: Operation timed out
! Doctor found issues in 5 categories.
在终端使用代理访问
export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890
将上面复制到终端执行(地址为你本地代理的地址),然后我们在此执行 doctor,得到以下结果,发现以下SSL HOST 问题已经解决(没有代理地址建议“换源”)
Doctor summary (to see all details, run flutter doctor -v):
[!] Flutter (Channel stable, 3.7.0, on macOS 12.6.3 21G419 darwin-x64, locale
zh-Hans-CN)
! Warning: `dart` on your path resolves to
/usr/local/Cellar/dart/2.2.0/libexec/bin/dart, which is not inside your
current Flutter SDK checkout at /Users/em_er/development/flutter. Consider
adding /Users/em_er/development/flutter/bin to the front of your path.
[!] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
✗ Android license status unknown.
Run `flutter doctor --android-licenses` to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/macos#android-setup for
more details.
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
[✓] Chrome - develop for the web
[!] Android Studio (version 2022.1)
✗ Unable to find bundled Java version.
[!] Android Studio (version 2022.1)
✗ Unable to find bundled Java version.
[✓] IntelliJ IDEA Ultimate Edition (version 2022.2.5)
[✓] VS Code (version 1.76.1)
[!] Proxy Configuration
! NO_PROXY is not set
[✓] Connected device (3 available)
[✓] HTTP Host Availability
我们看到目前只剩下 Unable to find bundled Java version、Android license status unknown、Warning: `dart` on your path resolves 问题了;
我们来看 Unable to find bundled Java version 问题;
https://github.com/flutter/flutter/issues/118502 这个是关于这个问题的讨论(注意,这个问题在Android Studio 或者 Idea更新后,还是会出现), Flutter 3.7 之后出现的问题,最新版本已经解决了这个问题。
执行 flutter upgrade 对 Flutter 进行升级,升级后重新执行 flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[!] Flutter (Channel stable, 3.7.10, on macOS 12.6.3 21G419 darwin-x64, locale
zh-Hans-CN)
! Warning: `dart` on your path resolves to
/usr/local/Cellar/dart/2.2.0/libexec/bin/dart, which is not inside your
current Flutter SDK checkout at /Users/em_er/development/flutter. Consider
adding /Users/em_er/development/flutter/bin to the front of your path.
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2022.1)
[✓] Android Studio (version 2022.1)
[✓] IntelliJ IDEA Ultimate Edition (version 2022.2.5)
[✓] VS Code (version 1.76.1)
[!] Proxy Configuration
! NO_PROXY is not set
[✓] Connected device (3 available)
[✓] HTTP Host Availability
! Doctor found issues in 2 categories.
dart 环境变量问题,这个是 flutter 更新到最新几个版本出现的问题,此问题可以忽略:
// 使用命令获取当前系统中的所有 dart 路径 which -a dart // 结果 /usr/local/bin/dart /usr/local/bin/dart /Users/xxx/development/flutter/bin/dart
- 是否安装了多个dart?flutter默认自带dart,如果安装了请卸载
- 环境变量先后顺序,把flutter的环境变量放到
/usr/local/bin的前面 - 也可以将路径修改为:
export PATH="/path/to/flutter/bin:$PATH"这种形式
具体问题讨论:https://github.com/flutter/flutter/issues/115651#issuecomment-1409619007
NO_PROXY is not set 的问题是,开启的代理的原因,关闭代理消失;可以忽略。
文章评论