React Native项目构建报错:Failed to start watch mode问题求解
解决React Native Metro Bundler的"Failed to start watch mode"错误
嘿,问题根源很明确:你错误地把Watchman作为npm依赖安装了,但Watchman是Facebook开发的系统级文件监听工具,不是项目里的npm包,而且那个watchman npm包早就被废弃了,这就是导致Metro启动失败的原因。
下面是具体的解决步骤:
移除项目中的废弃watchman npm包
先把这个没用的包从你的项目依赖里删掉,运行以下命令:yarn remove watchman # 或者用npm的话: # npm uninstall watchman之后检查你的
package.json,确保dependencies里已经没有watchman这一项了。安装系统级的Watchman工具
Watchman需要安装在你的操作系统里,而不是项目node_modules中,根据你的系统选择对应的安装方式:- macOS:用Homebrew安装
brew install watchman - Linux(Ubuntu/Debian):用apt包管理器
sudo apt-get update && sudo apt-get install watchman - Windows:用Chocolatey包管理器,或者从官方下载安装包
choco install watchman
- macOS:用Homebrew安装
验证Watchman安装成功
打开终端运行以下命令,能正常输出版本号就说明安装没问题:watchman --version重启Metro和项目
关掉当前运行的Metro Bundler窗口,重新执行:react-native run-android这时候Metro应该能正常启动watch mode,不会再报错了。
简单总结一下:Metro Bundler依赖系统级的Watchman来监听代码文件的变化,你之前装的npm版watchman完全无法提供这个功能,换成系统级安装就解决问题啦。
内容的提问来源于stack exchange,提问作者SwethaG
相关产品推荐
相关产品推荐

