npx create-react-app my-project
导致以下依赖性错误:
npx版本:8.5.0
Installing template dependencies using npm...
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: react-18@0.1.0
npm ERR! Found: react@18.0.0
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/react@12.1.5
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 start
会出错,node-modules
中缺少web-vitals
。
尝试的解决方案
根据上述错误消息的建议,使用
--force
或--legacy-peer-deps
运行相同的命令并不能解决问题。删除
node_modules
和package-lock.json
并运行npm i
也不能解决问题。
更新
该问题已通过create-react-app
的最新更新得到修复。现在它创建了一个没有任何问题的项目。
在修复之前,您可以删除node_modules
文件夹和package-lock.json
。接下来,打开package.json
并更改"react": "^18.0.0"
&CCD_ 15到早期版本,例如:"react": "^17.0.2"
&"react-dom": "^17.0.2"
最后,您可以运行npm install
。
替代解决方案(先试试这个!(:
joooni1998建议的解决方案(:
- 删除
node_modules
和package-lock.json
- 运行
npm i web-vitals --save-dev
- 运行
npm install
然后您可以再次使用npm run build
和npm start
请在此处查看Github问题。
这里有一个临时的解决方法:
-
将cra模板安装到一个单独的文件夹(而不是您的新文件夹项目应用程序的文件夹(;npm安装cra模板;
-
转到已安装的cra模板包文件夹;template.json";改变线"@测试库/反应":"12.0.0〃到"@测试库/反应":"13.0.0〃
-
返回您的根文件夹并运行npx create react app my app(您的应用程序名称(--模板文件:PATH_to_your_CUSTOM_template
此外,您可以让构建失败,删除node_modules文件夹以及package-json.lock文件。打开package.json文件,将react和react dom更改为早期版本。
例如:
{
"name": "frontend",
"version": "0.1.0",
"private": true,
"dependencies": {
"cra-template": "1.1.3",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-scripts": "5.0.0"
},
"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"
]
}
}
删除报告WebVitals.js从index.js中删除import reportWebVitals from './reportWebVitals';
从index.js 底部删除reportWebVitals();
最后运行npm安装
它通过删除'node_modules'文件夹和'package-lock.json'文件对我起到了作用。然后,根据Gavriel的回答,我在package.json文件中将react和react dom版本都更改为17.0.2,而不是18.0.0https://stackoverflow.com/a/71836018/12490294.然后,在应用程序文件夹中,我运行
npm i web-vitals --save-dev
然后
npm start
应用程序成功启动
或者您可以尝试此npx --legacy-peer-deps create-react-app my-appname
或goto index.js并删除web生命体征的使用
或者使用CCD_ 28降级npm并创建react app。
您可以使用yarn add create-react-app your-app
代替
自从被问到这个问题以来,已经有一年多了,尽管OP建议在create-react-app
的新版本中已经修复了它,但它仍然没有修复。此外,package.json
中的降级反应也不起作用。在我的应用程序工作之前,我不得不冒着风险用--legacy-peer-deps
运行命令。
尝试使用--force或使用--legacy peer deps运行,两者都可以毫无问题地安装依赖项。
如果这不起作用,那么删除节点模块文件夹并开始从头开始安装