运行expo build:android时遇Windows系统EMFILE错误求助
解决Windows下Expo build:android的EMFILE(打开文件过多)错误
针对你遇到的EMFILE错误,试试这些Windows环境下的专属解决方案:
调整Windows系统文件句柄限制
- 按下Win+R输入
regedit打开注册表编辑器 - 定位到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters - 右键新建DWORD(32位)值,命名为
MaxOpenFiles,设置数值数据为65536(十进制) - 再新建DWORD值
MaxMpxCt,设置数值数据为16384(十进制) - 重启电脑后生效
- 按下Win+R输入
用工具提升Node.js文件句柄上限
- 全局安装工具:
npm install -g increase-file-limit - 进入项目根目录执行:
increase-file-limit - 重启终端后再运行
expo build:android
- 全局安装工具:
关闭冗余后台进程
打开任务管理器,结束占用大量文件句柄的程序(比如多开的浏览器、闲置的Node进程),只保留当前Expo项目相关进程。缩小Expo监听范围
在项目的app.json或app.config.js里添加配置,限制打包器监听的文件夹和工作线程数:"packagerOpts": { "maxWorkers": 2, "watchFolders": ["./src"] }只监听必要的源码文件夹,减少文件监听数量。
切换到WSL2环境构建
安装Windows子系统Linux 2,在WSL终端里执行expo build:android——WSL默认的文件句柄限制比Windows原生高,大概率能绕过这个问题。
内容的提问来源于stack exchange,提问作者lala ronak
相关产品推荐
相关产品推荐

