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

React Native集成现有iOS应用时Metro配置报错(错误码1)求助

解决React Native集成现有iOS应用时“找不到Metro”(错误码1)的问题

以下是针对新MacBook Air环境的排查和解决步骤:

  • 确认Metro服务已启动
    必须先在React Native项目根目录执行启动命令:

    npx react-native start
    

    不要直接运行iOS项目,确保Metro服务处于运行状态后再启动Xcode里的iOS应用。

  • 检查端口占用与防火墙

    • 用命令查看8081端口(Metro默认端口)是否被占用:
      lsof -i :8081
      
      如果有结果,用kill -9 <进程ID>终止占用进程;也可以换端口启动Metro:
      npx react-native start --port 8082
      
      同时在iOS项目的AppDelegate里同步修改端口号。
    • 暂时关闭Mac系统防火墙(系统设置 → 网络 → 防火墙),测试是否是防火墙拦截了Metro连接。
  • 修正iOS项目网络配置
    在项目的Info.plist中添加以下配置,允许本地网络请求:

    <key>NSAppTransportSecurity</key>
    <dict>
      <key>NSAllowsArbitraryLoads</key>
      <true/>
      <key>NSAllowsLocalNetworking</key>
      <true/>
    </dict>
    

    若localhost解析有问题,将AppDelegate中的Metro地址替换为Mac的本地IP(比如http://192.168.x.x:8081/index.bundle...),本地IP可通过ifconfig | grep inet查看。

  • 清空缓存并重置环境
    执行命令清空RN缓存,避免缓存导致的异常:

    npx react-native start --reset-cache
    

    同时检查Node.js版本是否符合React Native要求(推荐LTS版本),用node -v确认版本,版本不兼容可通过nvm切换。

  • 排除代理/VPN干扰
    关闭当前运行的VPN或代理工具,代理可能会拦截本地Metro服务的请求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 11:52:09