flutter doctor 条件缺失解决

使用 flutter doctor 命令用于检查 flutter 相关工具的安装情况,如果都不缺,运行结果如下:

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.10.4, on macOS 11.6 20G165 darwin-x64, locale zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
[✓] Xcode - develop for iOS and macOS (Xcode 13.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.1)
[✓] Connected device (1 available)
[✓] HTTP Host Availability

然而第一次安装 flutter 往往会缺失其中几项,其中 Flutter、Android Studio、IntelliJ IDEA 在安装了相应工具后即可解决,本文将介绍其余几项条件缺失的解决方式。

1) Android toolchain

该条目有两个子条目,需要分别处理。

1.1) cmdline-tools component is missing

先尝试提示给的命令,注意path/to/sdkmanager要替换成你的sdkmanager安装路径:

path/to/sdkmanager --install "cmdline-tools;latest"

如果该命令执行失败,则可以通过 Android Studio 设置中的 SDK Tools 来安装。

1.2) Android license status unknown

需要先解决 cmdline-tools 的问题,然后按照提示运行如下代码,记得全部选y

flutter doctor --android-licenses 

2) Chrome

找到 Chrome (其他版本如 Chromium 也行)可执行文件的路径,然后设置设置环境变量CHROME_EXECUTABLE为该路径。

3) Connected device

(此处没有参考价值)在笔者解决了 Chrome 的问题后,该问题也顺带被解决了,想不通……

4) HTTP Host Availability

错误提示如下,分析可知是 maven.google.com 访问失败造成的:

HTTP host https://maven.google.com/ is not reachable. Reason: An error occurred while checking the HTTP host: Operation timed out 

解决步骤:

  1. 打开/【path to flutter sdk】/packages/flutter_tools/lib/src/http_host_validator.dart文件,修改https://maven.google.com/为 google maven 的国内镜像,如https://maven.aliyun.com/repository/google/
  2. 删除/【path to flutter sdk】/bin/cache 文件夹
  3. 重新执行flutter doctor

你可能感兴趣的:(flutter doctor 条件缺失解决)