
Apple Silicon 下 Flutter/Dart SDK is not configured 的解决方式
问题背景
最近在 macOS 下配置 Flutter 开发环境时,遇到了一些典型的配置问题,特别是关于 Dart SDK 的配置和 Android Studio 的设置。这篇文章将详细记录问题的发现和解决过程,希望能帮助遇到类似问题的开发者。
问题描述
在配置过程中,主要遇到了以下几个问题:
- Android Studio 报错 “Dart SDK is not configured”
- Dart SDK 路径配置混乱
- Flutter 安装位置与预期不符
问题排查
1. Dart SDK 路径查找
首先,我尝试通过终端命令查找 Dart 的安装位置:
which dart
# 输出: /opt/homebrew/bin/dart
这个路径只是一个可执行文件的位置,而不是完整的 SDK 路径。我还尝试查找完整的 SDK 目录:
ls /opt/homebrew/opt/dart/libexec
# 输出: No such file or directory
这表明我的系统中的 dart 命令可能是通过 Flutter 安装的,而不是独立安装的 Dart SDK。
2. Flutter 安装位置确认
通过进一步检查,发现 Flutter 实际安装在了:
/opt/homebrew/Caskroom/flutter/3.24.1/flutter
这是因为我使用了 Homebrew Cask 来安装 Flutter。在 Apple Silicon Mac 上,这是一个正常的安装路径。当 Flutter 和 Android Studio 断联,Flutter 插件停止管理 Dart SDK 就会出现这样的问题。换句话说,其实一般不需要指定 Dart SDK 的位置。
问题原因
经过分析,问题的主要原因是:
- IDE 配置错误:在 Android Studio 中试图手动指定 dart 可执行文件路径
- 项目打开方式不当:直接打开了 Flutter 项目中的 android 目录
- 对 Flutter/Dart SDK 路径结构理解不清
解决方案
1. 正确配置环境变量
编辑 ~/.zshrc
文件(如果使用 bash,则编辑 ~/.bash_profile
):
# 添加 Flutter 到 PATH
export PATH="/opt/homebrew/Caskroom/flutter/3.24.1/flutter/bin:$PATH"
更新配置:
source ~/.zshrc
2. 验证 Flutter 安装
# 检查 Flutter 版本
flutter --version
# 检查环境配置
flutter doctor -v
3. Android Studio 正确配置
- 确保安装必要插件:
- Flutter plugin
- Dart plugin
- 正确打开项目:
- 选择整个 Flutter 项目目录(包含 pubspec.yaml 的目录)
- 不要只打开 android 子目录
- 让 IDE 自动配置 SDK:
- 不要手动指定 Dart SDK 路径
- 让 Flutter 插件自动管理配置
4. 清理和重置(如果需要)
如果还遇到问题,可以尝试:
# 清理项目
flutter clean
# 重新获取依赖
flutter pub get
注意事项
- 路径差异:
- Apple Silicon Mac:Homebrew 基础路径在
/opt/homebrew/
- Intel Mac:Homebrew 基础路径在
/usr/local/
- 项目结构:确保打开完整的 Flutter 项目结构:
your_flutter_project/ ├── android/ ├── ios/ ├── lib/ ├── pubspec.yaml └── ...
- 版本管理:使用 Flutter 自带的 Dart SDK,避免单独安装和配置 Dart
RELATED POSTS
View all