Flutter macOS构建缓存清理有五种方法:一、flutter clean命令清除项目build/和.dart_tool/;二、手动rm -rf删除;三、清理$TMPDIR中过期flutter_tools目录;四、用trash脚本递归清build文件夹;五、清除Xcode DerivedData。
如果您在 macOS 上进行 Flutter 跨平台开发,发现构建变慢、磁盘空间被大量占用或出现异常编译行为,则很可能是构建缓存(如 build/ 和 .dart_tool/ 目录)中积累了冗余文件。以下是针对 macOS 系统清理 Flutter 构建缓存的多种有效方法:
这是 Flutter 官方推荐的标准方式,用于清除当前项目的构建产物和 Dart 工具缓存,安全且可逆,不影响源码与配置文件。
1、打开终端(Terminal),进入您的 Flutter 项目根目录。
2、输入并执行以下命令:
flutter clean
3、等待命令完成,终端将输出类似 “Removed build/ and .dart_tool/ directories” 的提示。
4、如需重新构建项目,可立即运行 flutter build ios 或 flutter run。
当 flutter clean 执行失败、权限异常或需彻底确认清理内容时,可直接通过终端定位并移除对应目录,避免工具链干扰。
1、在项目根目录下执行以下命令删除构建目录:
rm -rf build/
2、执行以下命令删除 Dart 工具缓存目录:
rm -rf .dart_tool/
3、为防止误删,建议先使用 ls -la 查看当前目录结构,确认 build/ 与 .dart_tool/ 存在且无重要隐藏文件。
macOS 系统级临时目录(/tmp 或 $TMPDIR)中可能残留以 flutter_tools 开头的旧工作目录,这些由 Flutter CLI 启动时自动创建,长期不清理会占用数 GB 空间。
1、获取系统临时目录路径:
echo $TMPDIR
2、查找所有 flutter_tools 开头的目录:
find "$TMPDIR" -type d -name "flutter_tools*"
3、安全删除全部匹配目录(保留最近 30 天内修改的):
find "$TMPDIR" -type d -name "flutter_tools*" -mtime +30 -exec rm -rf {} ;
4、若需立即清空全部(请确保无正在运行的 Flutter 进程):
find "$TMPDIR" -type d -name "flutter_tools*" -exec rm -rf {} ;
该脚本专为 macOS 设计,能递归扫描整个项目(含子模块、插件目录)中的所有 build 文件夹,并借助 trash 命令安全移入废纸篓,避免误删后不可恢复。
1、安装 trash 命令(如未安装):
brew install trash
2、下载或创建 delete_build_folder.sh 脚本(内容需包含 find . -name "build" -type d -exec trash {} ;)。
3、赋予脚本执行权限:
chmod +x delete_build_folder.sh
4、在项目根目录运行:
./delete_build_folder.sh
Flutter iOS 构建严重依赖 Xcode 的 DerivedData,其中包含编译中间产物、索引、模拟器缓存等,体积常超 5GB。此步骤独立于 Flutter 项目目录,但直接影响构建成功率与速度。
1、关闭 Xcode 与所有模拟器进程。
2、执行以下命令清除衍生数据:
rm -rf ~/Library/Developer/Xcode/DerivedData/*
3、如需仅清理特定项目数据,可先列出:
ls -t ~/Library/Developer/Xcode/DerivedData/ | head -n 10
4、再针对性删除(例如):
rm -rf ~/Library/Developer/Xcode/DerivedData/Runner-*