Flutter Build Runner执行命令失败:内存耗尽问题求助
解决Flutter build_runner执行时内存耗尽问题
增加Dart虚拟机内存配额
执行命令时通过--dart-flags参数给Dart VM分配更大的堆内存,根据机器配置调整数值(比如4G):flutter pub run build_runner build --dart-flags="-Xmx4G"若4G仍不够,可尝试提升至
-Xmx6G或-Xmx8G,注意不要超过机器可用内存上限。拆分生成任务
避免一次性处理所有文件,通过--build-filter指定仅处理需要生成代码的目录或文件,比如只处理models下的文件:flutter pub run build_runner build --build-filter="lib/models/*.dart"分多次执行不同目录的生成任务,降低单次内存负载。
彻底清理缓存
删除项目根目录下的.dart_tool文件夹(build_runner的核心缓存目录),然后重新执行:rm -rf .dart_tool flutter pub get这个操作比
flutter clean更彻底,能清除可能损坏的缓存文件。禁用冗余生成器
检查pubspec.yaml中的依赖,暂时注释掉当前不需要的代码生成插件(比如某些仅用于开发的辅助生成器),减少build_runner需要处理的任务量,待生成完成后再恢复。排查项目异常文件
检查项目中是否存在超大Dart文件(包含数百个类或大量重复代码)、循环引用或者复杂泛型结构,这类文件会导致生成器处理时内存急剧上涨。拆分超大文件、修复循环引用后再尝试执行命令。
内容的提问来源于stack exchange,提问作者Iman Sepehri
相关产品推荐
相关产品推荐

