执行expo eject后RN CLI doctor提示Watchman版本不兼容如何修复?
修复方案
这个报错是旧版@react-native-community/cli的版本校验逻辑不兼容Watchman 4.9之后改用的日期格式版本号导致的误报,高版本Watchman本身功能完全兼容React Native开发需求,可按需选择以下方案修复:
- 方案1:直接忽略报错
该校验仅为版本号格式不匹配导致的误报,只要实际开发过程中文件监听、热更新功能运行正常,无需做任何修改。 - 方案2:升级
@react-native-community/cli到最新版本
新版cli已经修复了Watchman版本号的适配逻辑,全局升级执行:
仅升级项目本地依赖执行:npm install -g @react-native-community/cli
升级完成后重新执行npm install @react-native-community/cli --save-devnpx @react-native-community/cli doctor即可消除报错。 - 方案3:临时修改本地cli校验规则(不推荐长期使用)
若暂时无法升级cli版本,可手动修改校验逻辑:打开项目路径下的node_modules/@react-native-community/cli/build/commands/doctor/checks/watchman.js,找到版本校验的判断逻辑,将仅支持4.x版本的规则修改为兼容日期格式版本号即可。 - 方案4:降级Watchman到4.9版本(极不推荐)
仅当你明确需要兼容极旧版本React Native时可选择该方案,降级后会存在已知的功能缺陷和安全漏洞。
内容的提问来源于stack exchange,提问作者Dimitry
相关产品推荐
相关产品推荐

