React版本不兼容问题解决指南:从错误分析到完整解决方案
创作时间:
作者:
@小白创作中心
React版本不兼容问题解决指南:从错误分析到完整解决方案
引用
CSDN
1.
https://blog.csdn.net/TullyL/article/details/144300756
在React项目开发中,版本不兼容问题是一个常见的困扰。本文将详细介绍如何解决React版本不兼容导致的项目创建失败问题,包括具体的错误信息分析、解决方案步骤以及相关依赖的处理方法。
报错原因
React版本不兼容是导致项目创建失败的主要原因。在创建React应用时,如果不同组件或库之间的React版本不匹配,就会引发依赖解析错误。
详细报错
在尝试创建React项目时,开发者遇到了以下错误信息:
Microsoft Windows [版本 10.0.22000.2538Microsoft Windows [版本 10.0.22000.2538]
(c) Microsoft Corporation。保留所有权利。
E:\React\react-weather-app>mk weather-app
'mk' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
E:\React\react-weather-app>create-react-app weather-app
Creating a new React app in E:\React\react-weather-app\weather-app.
Installing packages. This might take a couple of minutes.
Installing react, react-dom, and react-scripts with cra-template...
added 1314 packages in 1m
261 packages are looking for funding
run `npm fund` for details
Initialized a git repository.
Installing template dependencies using npm...
npm error code ERESOLVE
npm error ERESOLVE unable to resolve dependency tree
npm error
npm error While resolving: weather-app@0.1.0
npm error Found: react@19.0.0
npm error node_modules/react
npm error react@"^19.0.0" from the root project
otentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error C:\Users\admin\AppData\Local\npm-cache\_logs\2024-12-06T13_21_45_060Z-eresolve-report.txt
npm error A complete log of this run can be found in: C:\Users\admin\AppData\Local\npm-cache\_logs\2024-12-06T13_21_45_060Z-debug-0.log
`npm install --no-audit --save @testing-library/jest-dom@^5.14.1 @testing-library/react@^13.0.0 @testing-library/user-event@^13.2.1 web-vitals@^2.1.0` failed
解决办法
重新创建项目
- 首先清理当前目录:
- 删除
weather-app
文件夹
创建新项目(指定React版本):
npx create-react-app weather-app --template typescript --use-npm
如果上面命令还是报错,可以先全局更新
create-react-app
:npm uninstall -g create-react-app npm install -g create-react-app
然后再创建项目:
npx create-react-app weather-app
进入项目目录:
cd weather-app
启动项目:
npm start
固定React版本
如果上述方法仍然无法解决问题,可以尝试在 package.json
中指定具体的React版本:
确保在正确目录:
cd E:\React\react-weather-app\weather-app dir # 确认有 package.json 文件
备份
package.json
(可选):copy package.json package.json.bak
修改
package.json
:{ "name": "weather-app", "version": "0.1.0", "private": true, "dependencies": { "react": "18.2.0", // 移除 ^ 符号 "react-dom": "18.2.0", // 移除 ^ 符号 "react-scripts": "5.0.1" }, // ... 其他配置保持不变 }
清理旧依赖:
- 删除
node_modules
文件夹 - 删除
package-lock.json
文件
重新安装依赖:
npm cache clean --force # 清除 npm 缓存 npm install # 重新安装
验证安装:
npm list react # 检查 React 版本 npm list react-dom # 检查 React DOM 版本
启动项目:
npm start
处理缺少 web-vitals
依赖
在项目启动时,如果遇到缺少 web-vitals
依赖的错误:
ERROR in ./src/reportWebVitals.js 5:4-24
Module not found: Error: Can't resolve 'web-vitals' in 'E:\React\react-weather-app\weather-app\src'
webpack compiled with 1 error
可以按照以下步骤解决:
修改
package.json
,添加缺失的依赖:{ "name": "weather-app", "version": "0.1.0", "private": true, "dependencies": { "react": "18.2.0", "react-dom": "18.2.0", "react-scripts": "5.0.1", "web-vitals": "^2.1.4", // 添加这行 "@testing-library/jest-dom": "^5.16.5", // 添加这些测试相关的依赖 "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0" }, // ... 其他配置保持不变 }
重新安装依赖:
npm install
设置 Node 选项:
set SET NODE_OPTIONS=--openssl-legacy-provider
启动项目:
npm start
如果还有问题,可以尝试单独安装 web-vitals
:
npm install web-vitals@2.1.4
或者安装所有缺失的依赖:
npm install web-vitals@2.1.4 @testing-library/jest-dom@5.16.5 @testing-library/react@13.4.0 @testing-library/user-event@13.5.0
通过以上步骤,应该能够成功解决React版本不兼容问题,并顺利启动项目。
热门推荐
IATF16949是什么样的质量管理体系标准?
神经酸:守护大脑健康的天然卫士
数据洞察:2024中日韩三国游客互通,创疫后新高
灌区节水改造工程解决方案,赋能农业可持续发展
职场遭遇恶意诋毁?教你有效应对!
渐进式图片加载:提升前端用户体验的艺术
门面租赁合同签订指南:要点、样本与申请流程
电动车事故责任认定与赔偿指南
揭秘菩提老祖:佛祖化身的传说与象征意义
电动汽车新角色:车网互动先行地区的能源转型推手
星币皇后正位详解:塔罗牌深度解读
北京海淀区2025年小学新排名一览(按口碑排名)
浙江专升本院校及专业排名,有哪些学校?
关于瘢痕,你最关心的问题都在这
书单丨值得终生反复阅读的5本书,常读常新!
深入解析市盈率:计算方法、意义及投资应用指南
线路参数测试零序电容、阻性电容、正序阻抗、零序阻抗分别代表什么
个人贷款评估额度的全面解析
WiFi中继和桥接哪个适合家用?
合肥什么季节去玩最好? 合肥适合几月份去?
北京的房租一般的多少钱一个月?解析租赁市场现状
Minecraft组队探险攻略:与朋友共赴奇妙旅程的小技巧
社会交通安全知识
阿托伐他汀每年停用一段时间,更安全还是更危险?告诉你大实话
为身体对抗 COVID-19
学会这3个技巧,让你说话更有逻辑
如何测试AI绘画软件的好坏?
急性肠胃炎怎么退烧快一点
日内做T策略的基本原则
一个鸡蛋能满足一天的营养吗