reactjs - React - 从 17.0.1 更新到 17.0.2 时出错
问题描述
从 React 17.0.1 更新到 17.0.2 时出现以下错误。我并不完全清楚为什么依赖关系会导致问题。我正在使用 npm v 7.4。
似乎有些依赖与react 17不兼容。我理解正确吗?但是 npm 显示例如
npm ERR! peer react-dom@"^15.0.0 || ^16.0.0 || ^17.0.0" from react-calendly@2.0.0
npm ERR! node_modules/react-calendly
如果我认为正确,React 17 应该可以工作。
有人可以简单地向我解释一下这个问题吗?有解决方案吗?
错误:
npm install --save react@17.0.2
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! Found: react@17.0.2
npm ERR! node_modules/react
npm ERR! react@"17.0.2" from the root project
npm ERR! peer react@"^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" from mini-create-react-context@0.4.1
npm ERR! node_modules/mini-create-react-context
npm ERR! mini-create-react-context@"^0.4.0" from react-router@5.2.0
npm ERR! node_modules/react-router
npm ERR! react-router@"5.2.0" from react-router-dom@5.2.0
npm ERR! node_modules/react-router-dom
npm ERR! react-router-dom@"^5.2.0" from the root project
npm ERR! 7 more (react-calendly, react-icons, react-router, ...)
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer react@"17.0.1" from react-dom@17.0.1
npm ERR! node_modules/react-dom
npm ERR! peer react-dom@"^15.0.0 || ^16.0.0 || ^17.0.0" from react-calendly@2.0.0
npm ERR! node_modules/react-calendly
npm ERR! react-calendly@"^2.0.0" from the root project
npm ERR! peer react-dom@"^15.5.4 || ^16.0.0 || ^17.0.0" from react-scroll@1.8.2
npm ERR! node_modules/react-scroll
npm ERR! react-scroll@"^1.8.2" from the root project
npm ERR! 2 more (styled-components, the root project)
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
我的依赖:
"emailjs-com": "^2.6.4",
"react": "^17.0.1",
"react-calendly": "^2.0.0",
"react-dom": "^17.0.1",
"react-icons": "^4.2.0",
"react-router-dom": "^5.2.0",
"react-router-scroll-top": "^0.2.1",
"react-scripts": "^4.0.3",
"react-scroll": "^1.8.2",
"styled-components": "^5.3.0",
"swiper": "^6.5.0"
我不明白,为什么 17.0.0 应该工作,但 17.0.2 不行。
谢谢你的帮助。
解决方案
您有依赖冲突,这将产生此问题。
我建议使用--force
or解决--legacy-peer-deps
。
所以尝试:
npm install --save react@17.0.2 --force
或者
npm install --save react@17.0.2 --legacy-peer-deps
问题原因:
存在依赖冲突,这意味着依赖与其他或类似的东西不兼容,这会产生这个问题。
推荐阅读
- javascript - 如何使用 JavaScript/Jquery 从字符串中获取所有日期和时间?
- php - 为什么“?>”标签不会关闭 php 部分?
- javascript - 验证用户答案
- reactjs - 如何在 blueprintjs 表格中实现无限滚动
- java - 为什么需要显式导入 spring-security-web 依赖项?
- php-telegram-bot - 获取 file_path 但不在电报机器人中作为回复发送
- android - 上传大视频文件使用 Retrofit(Android) 有 OutOfMemoryError
- php - 如何为产品名称或产品设计师创建 PHP 搜索?
- android - 以卡片形式显示 Listview 内容
- c - 如何写一个 if 语句而不是三个