C:\reactcamp\camp-project> npm install semantic-ui-react semantic-ui-css
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@"^16.8.0 || ^17.0.0" from [email protected]
npm ERR! node_modules/semantic-ui-react
npm ERR! semantic-ui-react@"^2.1.2" 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\zekis\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\zekis\AppData\Local\npm-cache\_logs\2022-05-01T18_07_14_536Z-debug-0.log
CodePudding user response:
TLDR:
[email protected]
is incompatible with React 18. As a workaround, you can downgrade your application to React 17.
While resolving: [email protected]
npm ERR! Found: [email protected]
npm ERR! node_modules/react
npm ERR! react@"^18.0.0" from the root project
Those first three lines indicate that npm identified React 18 as your project's dependency.
Could not resolve dependency
npm ERR! peer react@"^16.8.0 || ^17.0.0" from [email protected]
npm ERR! node_modules/semantic-ui-react
npm ERR! semantic-ui-react@"^2.1.2" from the root project
These 3 lines list semantic-ui-react
's peer dependency, meaning it expects your project to have either React 16.8 or React 17 as dependency.
Fix the upstream dependency conflict
There are two ways to address this conflict:
- Downgrade your project to React 17 using
npm install react@17
- Override
semantic-ui-react
's using yarn's Selective Resolution feature. Inside your package.json:
"resolutions": {
"semantic-ui-react/react": "^18.0.0"
}