flutter doctor 条件缺失解决

概述

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

Doctor summary (to see all details, run flutter doctor -v):

[✓] Flutter (Channel stable, 2.10.3, on Arch Linux 5.16.13-arch1-1, locale zh_CN.UTF-8)

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)

[✓] Chrome - develop for the web

[✓] Android Studio (version 2021.1)

[✓] IntelliJ IDEA Community Edition (version 2021.3)

[✓] 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

解决步骤:

打开/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/

删除/path-to-flutter-sdk/bin/cache 文件夹

重新执行flutter doctor

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