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

React Native 0.68.2(Expo构建)无法远程调试 提示代理连接断开

远程调试页断开报错截图

该问题为React Native 0.68.2版本搭配Expo开发时的高频已知问题,和测试所用的模拟器/真机载体无关,0.64版本因未上线新架构调试校验逻辑不会触发同类报错。以下为按操作成本从低到高排序的修复方案,每步操作完成后重启Metro打包服务再验证连接状态:

1. 修复端口绑定/占用问题(80%同类问题可通过该步解决)

RN 0.68配对的Expo SDK默认会将调试代理绑定到IPv6环回地址::1,但调试页访问localhost时默认优先走IPv4地址,会直接触发连接断开。

  • 第一步先杀掉所有调试相关端口的残留进程:
    # macOS / Linux 系统执行
    lsof -ti:19000,19001,8081 | xargs kill -9
    
    # Windows 系统先执行以下命令查占用端口的PID
    netstat -ano | findstr "19000 19001 8081"
    # 拿到返回结果最后一列的PID值后,执行强制结束命令
    taskkill /F /PID 替换为你查到的PID值
    
  • 第二步强制指定代理绑定IPv4地址启动Expo服务:
    EXPO_PACKAGER_PROXY_URL=http://127.0.0.1:19000 expo start
    

2. 修复Hermes引擎调试兼容问题

如果第一步操作后仍无法连接,是RN 0.68版本默认开启的Hermes引擎存在调试协议匹配bug,可临时切换引擎调试:

  • 打开项目根目录下的app.json文件,在expo配置项中新增引擎配置:
    {
      "expo": {
        // 保留原有其他配置项
        "jsEngine": "jsc"
      }
    }
    
  • 执行清除缓存命令重启服务:
    expo start -c
    

该配置仅影响本地开发调试环境,正式打包时可按需切回Hermes引擎,不会对线上包产生影响。

3. 修复Expo SDK版本已知bug

配对RN 0.68.2的Expo SDK 45早期版本存在调试代理websocket路径校验bug,升级到对应补丁版本即可修复:

expo install expo@~45.0.8

升级完成后删除项目根目录下的node_modules文件夹,重新安装依赖后启动服务即可。

额外避坑

  • 不要使用浏览器无痕/隐私模式打开调试页,该模式下部分安全策略会拦截websocket连接触发同类报错
  • 等Metro终端打印出Debugger listening on ws://...的日志后,再在模拟器端点击开启远程调试,不要提前打开调试页等待连接

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 22:27:23