在React项目中安装Firebase时遭遇ERESOLVE依赖冲突错误
React项目安装Firebase时的ERESOLVE依赖冲突解决
在Windows系统下执行npm install firebase或npm i firebase为React应用安装Firebase时,出现ERESOLVE依赖解析错误。核心原因是项目中已安装的react-currency-format@1.1.0对React的peer依赖要求为^0.14 || ^15.0.0-rc || ^15.0.0 || ^16.0.0-rc || ^16.0.0 || ^17.0.0,与当前项目使用的React@18.2.0版本冲突。
完整错误信息如下:
npm ERR! code ERESOLVE npm ERR! ERESOLVE could not resolve npm ERR! npm ERR! While resolving: react-currency-format@1.1.0 npm ERR! Found: react@18.2.0 npm ERR! node_modules/react npm ERR! peer react@">=16.8.0" from @emotion/react@11.10.5 npm ERR! node_modules/@emotion/react npm ERR! peer @emotion/react@"^11.0.0-rc.0" from @emotion/styled@11.10.5 npm ERR! node_modules/@emotion/styled npm ERR! peerOptional @emotion/styled@"^11.3.0" from @mui/material@5.11.4 npm ERR! node_modules/@mui/material npm ERR! peer @mui/material@"^5.0.0" from @mui/icons-material@5.11.0 npm ERR! node_modules/@mui/icons-material npm ERR! 1 more (the root project) npm ERR! 3 more (@mui/styled-engine, @mui/system, the root project) npm ERR! peerOptional @emotion/react@"^11.5.0" from @mui/material@5.11.4 npm ERR! node_modules/@mui/material npm ERR! peer @mui/material@"^5.0.0" from @mui/icons-material@5.11.0 npm ERR! node_modules/@mui/icons-material npm ERR! @mui/icons-material@"^5.11.0" from the root project npm ERR! 1 more (the root project) npm ERR! 3 more (@mui/styled-engine, @mui/system, the root project) npm ERR! peer react@">=16.8.0" from @emotion/styled@11.10.5 npm ERR! node_modules/@emotion/styled npm ERR! peerOptional @emotion/styled@"^11.3.0" from @mui/material@5.11.4 npm ERR! node_modules/@mui/material npm ERR! peer @mui/material@"^5.0.0" from @mui/icons-material@5.11.0 npm ERR! node_modules/@mui/icons-material npm ERR! @mui/icons-material@"^5.11.0" from the root project npm ERR! 1 more (the root project) npm ERR! peerOptional @emotion/styled@"^11.3.0" from @mui/styled-engine@5.11.0 npm ERR! node_modules/@mui/styled-engine npm ERR! @mui/styled-engine@"^5.11.0" from @mui/system@5.11.4 npm ERR! node_modules/@mui/system npm ERR! @mui/system@"^5.11.4" from @mui/material@5.11.4 npm ERR! node_modules/@mui/material npm ERR! 2 more (@mui/system, the root project) npm ERR! 21 more (@emotion/use-insertion-effect-with-fallbacks, ...) npm ERR! npm ERR! Could not resolve dependency: npm ERR! peer react@"^0.14 || ^15.0.0-rc || ^15.0.0 || ^16.0.0-rc || ^16.0.0 || ^17.0.0" from react-currency-format@1.1.0 npm ERR! node_modules/react-currency-format npm ERR! react-currency-format@"^1.1.0" from the root project npm ERR! npm ERR! Conflicting peer dependency: react@17.0.2 npm ERR! node_modules/react npm ERR! peer react@"^0.14 || ^15.0.0-rc || ^15.0.0 || ^16.0.0-rc || ^16.0.0 || ^17.0.0" from react-currency-format@1.1.0 npm ERR! node_modules/react-currency-format npm ERR! react-currency-format@"^1.1.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 C:\Users\ADITI\AppData\Local\npm-cache\eresolve-report.txt for a full report. npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\ADITI\AppData\Local\npm-cache\_logs\2023-01-29T06_34_53_211Z-debug-0.log
解决方法
方法1:升级react-currency-format到兼容React 18的版本
react-currency-format的后续版本已支持React 18,执行以下步骤:
- 查看该包的最新版本:
npm show react-currency-format versions - 安装最新兼容版本:
npm install react-currency-format@latest - 再次安装Firebase:
npm install firebase
方法2:使用npm参数跳过peer依赖检查
如果暂时无法升级依赖,可使用--legacy-peer-deps参数让npm采用旧版依赖解析规则,直接执行:
npm install firebase --legacy-peer-deps
注意:此方法可能隐藏潜在兼容性问题,建议后续优先升级依赖。
方法3:降级React到17.x版本
如果项目暂时不需要React 18的特性,可降级React版本:
- 安装React 17.0.2及对应react-dom:
npm install react@17.0.2 react-dom@17.0.2 - 再次安装Firebase:
npm install firebase
内容的提问来源于stack exchange,提问作者Aditya Singh
相关产品推荐
相关产品推荐

