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

如何解决React Native iOS运行时"Unable to talk to your watchman"报错

解决方案
  • 重置Watchman状态,解决socket连接异常
    依次执行以下命令:
    # 杀掉所有正在运行的watchman进程
    killall -9 watchman
    # 删除当前用户的watchman状态目录
    rm -rf /usr/local/var/run/watchman/$(whoami)-state
    # 重置watchman全局状态
    watchman watch-del-all
    watchman shutdown-server
    
  • 修复多用户环境下的Homebrew权限冲突
    执行以下命令将Homebrew相关目录权限归属到当前用户:
    sudo chown -R $(whoami) $(brew --prefix)/*
    
    执行完成后重新运行watchman version验证是否能正常输出版本号。
  • 临时禁用Watchman验证问题根因
    启动Metro服务时添加--no-watchman参数跳过Watchman调用:
    npx react-native start --no-watchman
    
    启动后再在Xcode中重新构建应用,如果应用可以正常加载,说明问题确实由Watchman兼容问题导致,可将Watchman降级到2021.10.18.00稳定版本使用。
  • 排查Metro服务连接异常
    若禁用Watchman后仍报开发服务连接错误,可在iOS模拟器的Safari中直接访问报错提示的bundle URL,确认是否可以正常访问:
    1. 若无法访问,执行lsof -i :8081检查8081端口是否被其他进程占用,杀掉占用进程后重新启动Metro即可
    2. 若端口被占用无法释放,可指定其他端口启动Metro:npx react-native start --port 8082,同时修改Xcode项目中AppDelegate.m里的bundle URL端口为对应端口即可
  • 清理项目缓存重新构建
    若以上操作都无效,执行以下命令清理所有缓存后重新构建项目:
    rm -rf node_modules package-lock.json yarn.lock
    rm -rf ios/Pods ios/Podfile.lock
    npm install
    cd ios && pod install && cd ..
    
    清理完成后打开Xcode,点击Product -> Clean Build Folder清理构建缓存后再重新运行项目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 05:54:08