创建反应应用程序抛出错误“无法解析依赖关系树”和“修复上游依赖关系冲突”

问题描述 投票:0回答:3

我一直在尝试使用创建反应应用程序,但是当我在终端中创建它时,我收到此错误。

Installing template dependencies using npm...
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR! 
npm ERR! While resolving: [email protected]
npm ERR! Found: [email protected]
npm ERR! node_modules/react
npm ERR!   react@"^18.0.0" from the root project
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peer react@"<18.0.0" from @testing-library/[email protected]
npm ERR! node_modules/@testing-library/react
npm ERR!   @testing-library/react@"^12.0.0" 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.
npm ERR! 
npm ERR! See /Users/chrisheibel/.npm/eresolve-report.txt for a full report.

npm ERR!`

我尝试过使用

--legacy-peer-deps
--force
但没有成功。它将创建应用程序,但 npm start 不起作用。创建它后,我尝试再次安装/更新 npm 和 node,但没有成功。我还在我的计算机上全局卸载了node和npm并重新安装,但没有运气,以及将创建的应用程序中的react和react-dom转换为版本17而不是18,但在那里没有运气。

我对此有点不知所措,因为创建反应应用程序以前一直在我的计算机上运行。但也许你们可能知道我是否在这里遗漏了一些东西,这就是为什么我无法运行 npm start/我收到所有这些错误。

reactjs npm create-react-app
3个回答
5
投票

错误消息告诉您问题是什么。重要的部分是:

Found: [email protected]

peer react@"<18.0.0" from @testing-library/[email protected]

所以

@testing-library/[email protected]
仅与react<18 and you have added react 18, which breaks this rule. Upgrade
@testing-library/react
兼容到兼容版本或将react降级到< 18.

最新版本的

@testing-library/react
是13。所以你可能会有类似的东西

"@testing-library/react": "^13.0.0"

在你的package.json中


0
投票

它可能适用于安装相同版本的两个

npm安装react@18react-dom@18


-1
投票

我会检查你的 create-react-app 版本

create-react-app --version

我的说5.0.0。

文档说要卸载 create-react-app 并使用 npx 运行它。 使用 npx 运行将安装最新版本:

npm uninstall -g create-react-app npx create-react-app your-app-name
当我今天运行 create-react-app 时,我得到了一个 React v18 应用程序。  在某些情况下,我不得不将其降级到 v17。  我已经这样做了:

npm uninstall react react-dom npm install react@!7 react-dom@17
    
© www.soinside.com 2019 - 2024. All rights reserved.