iOS React Native升级0.65后Hermes无法在Chrome调试显示求助
解决Hermes下Chrome DevTools无法检测到Remote Target的问题
基础排查
- 确认设备连接:
- 真机需开启USB调试,在
chrome://devices中能看到设备;模拟器可通过xcrun simctl list devices确认在线状态,必要时重启模拟器。 - 关闭开发者菜单里的Debug JS Remotely(Hermes调试不需要开启这个选项,开启后会切换到非Hermes的Chrome调试模式),同时确保Enable Hermes Debugging已打开。
- 真机需开启USB调试,在
缓存与依赖清理
- 重置Metro缓存:执行
npx react-native start --reset-cache,彻底清除旧配置残留。 - 清理iOS构建文件:删除
ios/build文件夹,执行pod deintegrate && pod install重新安装依赖;重启Xcode后用Cmd+Shift+K清理构建缓存,再重新编译运行。
版本与适配检查
- 升级Chrome到最新稳定版,旧版本可能存在JSI调试兼容性问题。
- 确认Hermes版本使用RN 0.65默认集成的版本,若Podfile自定义了Hermes版本,尝试改回默认配置。
端口与网络设置
- 检查端口占用:用
lsof -i :8081确认8081端口被Metro占用,若被占用则换端口启动Metro(比如npx react-native start --port 8082),并在开发者菜单设置Debug server host & port for device为localhost:8082。 - 关闭电脑或设备上的HTTP代理,代理可能干扰Chrome与Hermes的连接。
额外验证操作
- 在代码入口添加
global.HermesInternal?.enableDebugging();,主动触发Hermes调试模式,重启应用后再访问chrome://inspect/#devices,点击Configure按钮添加localhost:8081到目标列表。 - 查看Xcode控制台日志,排查是否有Hermes调试相关的连接失败、权限报错等信息,根据日志定位问题。
内容的提问来源于stack exchange,提问作者takid1412
相关产品推荐
相关产品推荐

