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

Expo React Native连接iOS实体设备时出现EIO I/O错误求解

解决Expo Metro打包器启动时的EIO读取错误问题

我之前也碰到过一模一样的错误,这种EIO: i/o error基本和文件系统读取异常、缓存损坏或者依赖包出问题有关,试试下面这些方法,按顺序来,大概率能搞定:

1. 先清掉Metro和Expo的缓存

缓存损坏是这类问题的重灾区,先彻底清一遍:

  • 直接用Expo的清理命令启动:
    npx expo start --clear
    
  • 如果这招没用,手动删缓存文件夹:
    • 删掉项目根目录下的.expo文件夹
    • 删掉node_modules/.cache这个缓存目录(有的话就删)

2. 重装一遍依赖包

有时候node_modules里的包会莫名损坏或者版本不兼容:

  • 先删掉node_modules文件夹,还有yarn.lock文件
  • 然后重新装依赖:
    yarn install
    

3. 检查文件权限

错误里提到fs.js读取失败,可能是你没权限读某些文件:

  • 看看你的项目文件夹是不是设成只读了,Windows的话右键文件夹→属性,取消只读勾选,还要应用到所有子文件
  • 或者直接用管理员权限打开终端,再跑yarn start试试

4. 暂时禁用自定义的jest/haste配置

如果你的项目里改了jest或者metro的自定义配置,可能和jest-haste-map冲突了:

  • 先把jest.config.js或者metro.config.js里的haste相关配置注释掉,再重启Metro
  • 也可以检查下jest版本和你的Expo版本是不是兼容,别装太新或者太旧的jest

5. 重启大法好

有时候系统层面的I/O小bug重启就能解决:

  • 重启你的开发电脑
  • 把iOS设备也重启一下,再打开Expo Go重新连接

要是上面的方法都不管用,试试把Expo CLI更到最新版本:

yarn global add expo-cli

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 14:57:52