导入React Bootstrap后系统为何在prop-types中查找react-is依赖?
问题原因
- 依赖安装异常:安装过程中网络波动、缓存损坏导致
prop-types的子依赖react-is没有被完整安装到对应目录 - 版本冲突:项目中多个依赖声明的
react-is/prop-types版本不匹配,包管理工具的依赖提升逻辑异常,导致路径解析错误 - 版本适配问题:你使用的React Bootstrap版本和当前项目的React、
prop-types版本不适配
解决方案
按顺序执行以下操作,每执行一步验证问题是否解决:
- 完整重装依赖
- 删除项目根目录的
node_modules文件夹,以及对应的锁文件:package-lock.json(npm)、yarn.lock(yarn)或pnpm-lock.yaml(pnpm) - 执行缓存清理命令:
- npm:
npm cache clean --force - yarn:
yarn cache clean - pnpm:
pnpm store prune
- npm:
- 重新执行安装命令:
npm install(对应你使用的包管理工具的安装指令即可)
- 删除项目根目录的
- 显式安装react-is
执行命令把react-is添加为项目的直接依赖:npm install react-is - 强制统一依赖版本
在项目package.json中添加resolutions字段指定统一的版本号(npm需要先安装npm-force-resolutions包使用该能力,yarn/pnpm原生支持):
配置完成后重新执行依赖安装即可。"resolutions": { "react-is": "^18.2.0", "prop-types": "^15.8.1" } - 对齐React Bootstrap和React版本
确认你安装的React Bootstrap版本和项目React版本适配:React Bootstrap v2要求React版本≥16.14.0,若版本不匹配,升级或降级对应包到适配版本即可。
内容的提问来源于stack exchange,提问作者mikwee
相关产品推荐
相关产品推荐

