关键词:
【中文标题】React / React-DOM 包依赖冲突【英文标题】:React / React-DOM package dependency conflict 【发布时间】:2021-02-26 17:01:54 【问题描述】:每次我尝试运行 npm update 时都会遇到此错误消息:
:
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: my-website@0.1.0
npm ERR! Found: react@16.14.0
npm ERR! node_modules/react
npm ERR! react@"^16.8.0" from the root project
npm ERR! peer react@"^16.8.0" from @material-ui/core@4.11.0
npm ERR! node_modules/@material-ui/core
npm ERR! @material-ui/core@"^4.11.0" from the root project
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! react-dom@"^17.0.1" from the root project
当我尝试运行 npm install react-parallax 时,我在控制台中收到此错误消息:
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: my-website@0.1.0
npm ERR! Found: react@16.14.0
npm ERR! node_modules/react
npm ERR! react@"^16.8.0" from the root project
npm ERR! peer react@"16.x.x" from react-parallax@3.1.2
npm ERR! node_modules/react-parallax
npm ERR! react-parallax@"*" from the root project
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! react-dom@"^17.0.1" from 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.
这是我当前的 package.json:
"name": "my-website",
"version": "0.1.0",
"private": true,
"dependencies":
"@material-ui/core": "^4.11.0",
"@material-ui/icons": "^4.9.1",
"@testing-library/jest-dom": "^5.11.5",
"@testing-library/react": "^11.1.0",
"@testing-library/user-event": "^12.1.10",
"react": "^16.8.0",
"react-dom": "^17.0.1",
"react-router-dom": "^5.2.0",
"react-scripts": "4.0.0",
"web-vitals": "^0.2.4"
,
"scripts":
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
,
"eslintConfig":
"extends": [
"react-app",
"react-app/jest"
]
,
"browserslist":
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
,
"devDependencies":
"enzyme": "^3.11.0",
"enzyme-adapter-react-16": "^1.15.5",
"enzyme-to-json": "^3.6.1"
,
"jest":
"snapshotSerializers": [
"enzyme-to-json/serializer"
],
"collectCoverageFrom": [
"src/**/*.js",
"!src/index.js"
],
"coverageReporters": [
"text"
]
我尝试删除我的 node_modules 文件夹,npm 安装,但这似乎没有奏效。我没有花很多时间处理这些类型的错误,以了解控制台要求我修复的确切内容对我来说有点陌生。究竟是什么问题,我该如何解决,以及如何阻止这种情况在未来发生?
【问题讨论】:
简而言之:react
和 react-dom
的版本必须匹配。
【参考方案1】:
您可以尝试使用npm install --legacy-peer-deps
运行它吗?我认为您正在使用 npm v7 的最新 Beta 版本。
错误消息中也提到了。
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.
您可以查看更多关于测试版的信息here
【讨论】:
【参考方案2】:您可以使用 npm install --legacy-peer-deps 自动解决所有冲突。
【讨论】:
react和react-dom是什么?
...网页的话,我们难免会下载两个包,一个是react,一个是react-dom,其中react是react的核心代码。react的核心思想是虚拟Dom,其实虚拟Dom改变没有那么复杂,简单而言就是一个js的对象来表达一个dom包含的东西,例如如下代码:"tagName... 查看详情
react和react-dom的区别,两者都有render函数,这两个函数有什么不一样
为什么react和react-dom要分成两个包?参考地址:https://www.zhihu.com/question/336664883知乎的另一个回答截图react提供组件,生命周期功能,reactdom提供dom功能 查看详情
react
...mail protected]:ruanyf/react-demos.git引用的三个库:react.js、react-dom.js和Browser.js,他们必须首先加载,react.js是React的核心库,react-dom.js 查看详情
Dart 包:依赖冲突
】Dart包:依赖冲突【英文标题】:DartPackages:Dependencyconflicts【发布时间】:2020-04-2006:13:16【问题描述】:在Dart/Flutter项目中,我有dependencies:graphql:\'^2.1.1-beta.5\'flutter_bloc:^3.0.0作为依赖项。但是,graphql依赖于rxdart:^0.22.0和flutter_bloc... 查看详情
react怎么在render里面写style
...不同环境下更快、更容易构建。于是把react分成了react和react-dom两个部分。这样就为web版的react和移动端的ReactNative共享组件铺平了道路。也就是说我们可以跨使用相同的react组件。新的react包包含了React.createElement,.createClass,ponen... 查看详情
maven依赖jar包版本冲突解决方案
1、为何会产生依赖冲突 Maven中的传递性依赖机制,一方面简化了依赖声明,另一方面如果传递依赖有可能引发版本冲突。例如:有这样的依赖关系:a->b->c->x(1.0)、a->d->x(2.0),对于这样的冲突Maven给出的方案是:第... 查看详情
yum解决重复包,依赖冲突问题
https://blog.csdn.net/u012908433/article/details/80254343 查看详情
maven怎么处理引用的jar版本冲突
...的jar包名称。通常可以在eclipse中查找冲突的类有在哪些依赖包里面出现了。并确定实际要使用的是那个包,冲突的包有哪些。2.通过mvndependency:tree>tree.txt导出全部的依赖。3.在导出的依赖文件中,查找问题相关的jar。确定这些j... 查看详情
无法解析模块“react-dom”
】无法解析模块“react-dom”【英文标题】:Cannotresolvemodule\'react-dom\'【发布时间】:2017-07-2307:31:53【问题描述】:我见过很少有与此类错误相关的帖子。但我无法解决。我的package.json:"react":"~0.14.7","webpack":"^1.12.13","react-hot-loader":... 查看详情
如何处理第三方组件依赖与 react native 或其他组件冲突?
】如何处理第三方组件依赖与reactnative或其他组件冲突?【英文标题】:Howtodealwiththethirdpartycomponentdependenciesconflictwithreactnativeorothercomponent?【发布时间】:2016-03-2018:26:40【问题描述】:现在我正在用reactnative0.13.2编写一个android应... 查看详情
react-dom 17.0.0更新错误TypeError:init不是函数
】react-dom17.0.0更新错误TypeError:init不是函数【英文标题】:react-dom17.0.0updateerrorTypeError:initisnotafunction【发布时间】:2021-02-0403:55:08【问题描述】:在我的CRA中将react-dom从16.3更新到17.0.0,升级react-dom后出现以下错误。到目前为止... 查看详情
React 和 React-Dom 版本应该匹配吗?
】React和React-Dom版本应该匹配吗?【英文标题】:ReactandReact-Domversionsshouldmatch?【发布时间】:2017-01-1300:04:40【问题描述】:React和React-Dom必须是同一个版本吗?我们应用中的示例:反应v15.0.2,React-Domv15.3.1直到最近,我们的应用... 查看详情
react antd 大型生产包
...lib/...\'这些是我的导入:importReactfrom"react";importReactDOMfrom"react-dom";importTreeSe 查看详情
mbstring Ubuntu 14.04 依赖包冲突
】mbstringUbuntu14.04依赖包冲突【英文标题】:mbstringUbuntu14.04dependencypackageconflict【发布时间】:2020-01-2304:47:28【问题描述】:我正在尝试在我的Ubuntu14.04机器上安装PHPmbstring模块。我使用“sudoapt-get-finstallphp7.0-mbstring”来安装模块。... 查看详情
Anaconda 中的依赖项和包冲突?
】Anaconda中的依赖项和包冲突?【英文标题】:DependenciesandpackagesconflictsinAnaconda?【发布时间】:2018-08-2816:15:15【问题描述】:我在Windows10机器上使用Anaconda5.1和Python3.6。我遇到了很多问题;我尝试在我的conda环境中添加一些有用... 查看详情
intellijidea查找依赖关系,解决jar包冲突
maven工程,一个artifact的jar包可能不只一处被依赖;有时候依赖会出现相同的artifact却不同版本,相互存在冲突,这时就需要exclude某个版本。 试了在命令行工程目录下执行mvndependency:tree可以出来文本的依赖关系... 查看详情
如何删除maven中冲突的jar包
首先在自己的pom中,人为不可能引入两个版本不同的依赖。冲突最可能的就是你依赖的依赖可能产生了冲突。比如A依赖版本为2.0的C,B依赖版本为3.0的C。在你的pom中,你同时依赖了A和B,这时就会产生冲突。这时候你就要判断,... 查看详情
如何快速的解决maven依赖冲突
首先要说明Maven的依赖管理,具体的可以参考这边Maven学习——依赖管理这篇文章,maven在依赖冲管理中有一下几个原则。依赖是使用Maven坐标来定位的,而Maven坐标主要由GAV(groupId,artifactId,version)构成。如果两个相同的依赖包,... 查看详情