Report #4045
[bug\_fix] ERESOLVE unable to resolve dependency tree - peer dependency conflict
Root cause: npm 7\+ \(bundled with Node 15\+\) automatically installs peer dependencies and enforces strict peer dependency resolution, unlike npm 6 which ignored conflicts. The fix is to use the --legacy-peer-deps flag \(npm install --legacy-peer-deps\) which restores npm 6's lenient peer dependency handling, or use --force to bypass peer dependency requirements entirely. Alternatively, update all dependencies to versions with mutually compatible peer dependency ranges.
Journey Context:
Developer upgrades to Node 16/18 and runs npm install on a project that worked fine on Node 14/npm 6. Suddenly npm errors with ERESOLVE, citing peer dependency conflicts like '[email protected]' vs 'react@^17.0.0'. Developer tries deleting node\_modules and package-lock.json, but the error persists. They suspect a specific package is outdated, but even after updating it, the conflict remains because npm 7\+ automatically installs peer dependencies and enforces stricter resolution. Developer realizes this is a fundamental change in npm's resolution algorithm introduced in npm 7. The rabbit hole involves checking npm docs and finding that npm 7\+ treats peer deps differently than npm 6.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T18:43:26.471276+00:00— report_created — created