M1芯片MacBook用Expo开发React Native遇EMFILE文件过多错误
解决M1 Mac上Expo开发React Native时的EMFILE文件过多错误
临时提升文件监听上限
在终端执行命令,临时扩大当前会话的文件描述符限制:
ulimit -n 10240
执行后重启Expo开发服务,验证问题是否解决。
永久配置文件描述符限制
如果临时设置重启后失效,可永久修改配置:
- 打开终端配置文件(用zsh则编辑
~/.zshrc,bash则编辑~/.bash_profile),添加一行:
ulimit -n 10240
- 保存后执行
source ~/.zshrc(对应你的终端配置文件)使配置生效,重启终端后再运行Expo。
调整Watchman配置
即使已安装Watchman,也可能需要修改它的文件监听上限:
- 创建或编辑
~/.watchmanconfig文件,写入以下内容:
{ "max_files": 10240 }
- 重启Watchman服务:
watchman shutdown-server watchman watch-del-all
之后重新启动Expo开发服务。
清理项目缓存
缓存堆积也可能触发该错误,执行以下操作清理:
- 清理Expo缓存:
expo r -c
- 清理并重装Node依赖:
rm -rf node_modules package-lock.json npm install
排查项目文件规模
如果以上方法无效,检查项目是否包含大量冗余文件:
- 移除不必要的依赖或静态资源
- 在
metro.config.js中配置blockList,排除不需要监听的目录(如日志、临时缓存目录)
内容的提问来源于stack exchange,提问作者Iranna Patil
相关产品推荐
相关产品推荐

