i get this error when installing next-auth with react 18
npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! While resolving: firstname.lastname@example.org npm ERR! Found: email@example.com npm ERR! node_modules/react npm ERR! react@"18.1.0" from the root project npm ERR! npm ERR! Could not resolve dependency: npm ERR! peer react@"^16.13.1 || ^17" from firstname.lastname@example.org npm ERR! node_modules/next-auth npm ERR! next-auth@"*" 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\mizzo\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\mizzo\AppData\Local\npm-cache\_logs\2022-04-27T14_07_48_165Z-debug-0.log
is theres any solution to fix it without using –force flag ?
Here’s how I solved this problem:
First, what’s happening: next-auth is looking for react@"^16.13.1 || ^17", but it is not finding it. Instead it is finding email@example.com, which is a newer version. For some reason doesn’t like this newer version, and you are being notified (it is not a big deal, but they decided it was worth stopping your build).
One solution: forcibly install the specific version of react that next-auth wants:
npm install firstname.lastname@example.org
What this does is roll back your react version to a slightly older one that is compatible with next-auth. You won’t notice any difference, and in future iterations, hopefully next-auth is updated, so this goes away.
Another solution: make a sweeping decision to not install any older version dependencies:
npm install xxxx –legacy-peer-deps
What this does is ignore old dependencies for this package. It is more comprehensive, and makes a lot of the decisions for you.
Answered By – Mark Wasfy
Answer Checked By – Dawn Plyler (Easybugfix Volunteer)