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

Mac上React Native模拟器无法连接服务器问题求助

React Native 0.61.2 连接开发服务器失败&Metro卡在99.4%的解决办法

1. 彻底清缓存(大概率解决临时冲突)

  • 强制重置Metro缓存启动:npx react-native start --reset-cache
  • 清空iOS模拟器数据:
    要么关闭模拟器后执行 xcrun simctl erase all,要么在模拟器里点「硬件 > 擦除所有内容和设置」
  • 重建Node依赖:
    rm -rf node_modules
    rm package-lock.json
    npm cache clean --force
    npm install
    

2. 排查8081端口占用

8081被别的程序占了是常见坑:

  • 查占用进程:lsof -i :8081
  • 杀掉进程:kill -9 <查到的PID>(替换成实际进程号)
  • 重新启动Metro:npm start

3. 调整Metro网络绑定

  • 启动Metro时绑定所有IP:npx react-native start --host 0.0.0.0
  • 模拟器里打开开发者菜单(Cmd+D),选「Configure Bundler」,确认地址是localhost或者本地局域网IP,端口8081

4. 核对AppDelegate配置

检查iOS项目的AppDelegate.m(或Swift版本):

  • 确保jsCodeLocation是默认自动获取的:
    jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
    
  • 如果是手动写的URL,确认是http://localhost:8081/index.bundle,别写错端口或地址

5. 重启核心环境

  • 直接重启电脑(很多临时进程、网络冲突靠这个能解决)
  • 重启路由器,确保电脑和模拟器在同一WiFi下

6. 适配RN 0.61.x的专属修复

这个版本的Metro有已知兼容问题:

  • 安装对应版本的Metro依赖:
    npm install metro@0.58.0 metro-core@0.58.0 metro-react-native-babel-preset@0.58.0 --save-dev
    
  • 检查metro.config.js,确保没有错误配置,默认配置如下即可:
    module.exports = {
      transformer: {
        getTransformOptions: async () => ({
          transform: {
            experimentalImportSupport: false,
            inlineRequires: false,
          },
        }),
      },
    };
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 00:45:34