Watchman版本显示0.0.0导致React Native项目npm start启动失败
macOS下React Native开发Watchman异常修复方案
你遇到的version: 0.0.0、Operation not permitted报错和安装源、安装包完整性无关,核心原因是macOS隐私权限机制拦截了Watchman对项目目录的访问——当项目存放在桌面、文稿、下载这类受TCC机制保护的系统目录时,没有对应权限的程序无法读取目录内容,才会触发这个报错,重装Watchman、换安装源、重启设备都不会触及权限配置,所以无法解决问题。
操作步骤
- 先彻底终止所有运行中的Watchman进程,在终端执行以下命令:
watchman shutdown-server sudo pkill -f watchman
- 打开macOS「系统设置」→ 找到「隐私与安全性」栏目 → 下拉选择「完全磁盘访问权限」
- 在权限应用列表中,找到你日常执行命令的终端程序:
- 用系统自带终端选「终端(Terminal)」
- 用iTerm2选「iTerm」
- 用VSCode内置终端选「Visual Studio Code」
打开对应程序的权限开关,如果开关原本就是打开状态,先关闭再重新打开,清除权限缓存
- 按
Cmd+Q完全退出终端程序(不要仅关闭窗口),重新打开终端 - 进入React Native项目根目录,清除Watchman历史异常缓存:
watchman watch-del-all
- 执行
watchman version验证,此时会正常输出安装的版本号,不再显示0.0.0 - 重新执行
npm start启动Metro服务,之前的Watchman爬取失败、权限不足报错会直接消失,后续执行npm run ios即可正常启动iOS模拟器调试
补充排查项
如果完成以上操作仍有异常,逐一检查以下两点:
- 项目是否存放在iCloud同步目录、桌面、文稿这类系统强管控目录下?如果是,将项目移动到用户目录下自定义的非同步本地文件夹(比如
~/code/目录)后重试 - 确认项目根目录下的
.watchmanconfig文件存在,文件内容写入空对象{}即可,不需要额外配置
内容的提问来源于stack exchange,提问作者africanxmamba
相关产品推荐
相关产品推荐

