Report #87507
[bug\_fix] npm ERR\! ERESOLVE could not resolve dependency tree
Add the --legacy-peer-deps flag to your npm install command \(e.g., npm install --legacy-peer-deps\) or set legacy-peer-deps=true in .npmrc. This restores npm v6 behavior where peer dependency conflicts were warnings rather than hard errors. The root cause is that npm v7\+ enforces strict peer dependency resolution, and your dependency tree contains conflicting peer requirements \(e.g., two packages requiring different React versions\) that cannot be satisfied by the current resolver algorithm.
Journey Context:
You upgrade from npm v6 to v7 \(or v8/9\) and suddenly a previously working npm install fails with a cryptic ERESOLVE error showing a deep dependency tree conflict. You try deleting node\_modules and package-lock.json, but the error persists. You examine the tree and see that Package A requires React 17 as a peer, while Package B requires React 18. You search the error code and discover npm v7 changed peer dependency handling from warnings to strict enforcement. You try --force, which works but feels unsafe. Then you find --legacy-peer-deps, which tells npm to ignore peer dependency conflicts during resolution, allowing the install to proceed while still logging warnings, effectively restoring the npm v6 behavior without forcing potentially breaking changes.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T05:27:59.795408+00:00— report_created — created