You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter macOS构建报错accessing build database disk I/O error

Flutter macOS构建报build database磁盘I/O错误修复方案

这个报错本质是Xcode侧的构建缓存数据库损坏、文件被占用或者目录权限异常,flutter clean只会清理Flutter层的构建缓存,碰不到Xcode派生数据和macOS目录下的CocoaPods本地缓存,所以常规清IDE缓存、重启的操作解决不了问题。

按以下顺序操作即可修复:

  • 完全退出所有相关程序:包括Android Studio/IntelliJ等IDE、Xcode、已启动的macOS端调试应用,终端执行pkill -f flutter杀掉所有残留的Flutter进程,避免缓存文件被进程锁定无法删除。
  • 清理Xcode全局派生缓存,终端执行命令:
    rm -rf ~/Library/Developer/Xcode/DerivedData/*
    这个目录存放所有Xcode项目的临时构建产物,包括报错的损坏build database文件,删除后Xcode会在下次构建时自动重建全新的缓存文件。
  • 进入项目的macOS子目录,清理本地构建缓存并重建CocoaPods依赖:
cd 你的Flutter项目根目录/macos
rm -rf build
pod deintegrate
pod install
  • 排查两类容易被忽略的触发场景:
    • 权限问题:如果项目存放在外接磁盘、系统受保护目录(比如系统根目录、下载文件夹根目录),执行sudo chmod -R u+rw 你的Flutter项目根目录给当前用户分配完整读写权限
    • 同步锁问题:如果项目放在iCloud云盘、第三方云同步目录下,云盘同步过程中会临时锁定文件触发I/O错误,要么暂停当前同步任务,要么把项目移到非同步的本地磁盘目录下

以上操作全部完成后,回到项目根目录执行flutter run -d macos就能正常构建。

注意:不要在开着Xcode或者IDE的状态下执行缓存清理,否则被锁定的缓存文件不会被删除,清理操作会直接失效。

内容的提问来源于stack exchange,提问作者dwb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 10:21:25