React Native应用运行失败求助:安装prop-types后无法启动
你的问题核心在于React 16+版本已经将prop-types从核心库中分离,而你项目依赖的react@16.0.0-alpha.12正好属于这个范围,必须显式安装prop-types才能正常运行。但当前因为缓存、依赖损坏等问题,不仅模块无法被解析,连新模块都没法安装。
先看你遇到的错误核心提示:
Unable to resolve module
prop-typesfromC:\\Users\\user\\Desktop\\NewRNPro\\node_modules\\react\\cjs\\react.production.min.js: Module does not exist in the module map or in these directories:\n C:\Users\user\Desktop\node_modules
下面是分步解决的方案:
第一步:彻底清理缓存与损坏的依赖
先关闭所有运行的开发服务器和终端窗口,依次执行以下操作:
- 清理watchman的监听缓存:
watchman watch-del-all - 删除本地损坏的
node_modules文件夹(Windows用下方命令,Mac/Linux用rm -rf node_modules):rmdir /s /q node_modules - 清理npm缓存,解决无法安装新模块的问题:
npm cache clean --force - 清理React Native的临时缓存文件:
- Windows系统:
del /s /q %TEMP%\react-* - Mac/Linux系统:
rm -fr $TMPDIR/react-*
- Windows系统:
第二步:重新安装依赖并确保prop-types被正确添加
现在执行安装命令,先单独安装prop-types,再安装所有项目依赖:
npm install prop-types --save npm install
安装完成后,检查你的package.json的dependencies部分,应该会新增"prop-types": "^x.x.x"(x.x.x为具体安装的版本号)。
第三步:重置缓存并重启开发服务器
最后启动开发服务器时带上重置缓存的参数,确保新安装的模块被正确识别:
npm start -- --reset-cache
等待服务器启动完成后,重新运行你的Android项目即可。
另外从你的package.json来看,项目依赖的React Native版本是0.47.1,属于较旧版本,后续如果遇到其他兼容性问题,也可以考虑升级到更稳定的版本,但先解决当前的prop-types问题即可。
内容的提问来源于stack exchange,提问作者Sanny Nagveker

