Report #14199
[bug\_fix] npm ERR\! ERESOLVE could not resolve dependency tree
Root cause: npm 7\+ \(via Arborist\) enforces strict peer dependency resolution. When two packages require conflicting peer versions \(e.g., React 17 vs 18\), npm 7 fails instead of ignoring it like npm 6. Fix: Append \`--legacy-peer-deps\` to the install command to restore npm 6's lenient peer resolution behavior, or use \`--force\` to bypass checks. Alternatively, upgrade/downgrade packages to align peer ranges.
Journey Context:
A developer upgrades their local npm from v6 to v8. They clone a legacy project using React 17 and attempt to install a new utility library that lists React 18 as a peer dependency. The install crashes with 'ERESOLVE could not resolve'. The developer examines the log and sees npm complaining about conflicting peer requirements for 'react'. They attempt to delete node\_modules and the lock file, but the error persists. After searching the error code, they find the npm 7 changelog explaining the new strict peer resolution. They retry with 'npm install --legacy-peer-deps'. The installation succeeds because this flag instructs the Arborist resolver to ignore peer conflicts, allowing the React 17 installation to satisfy both packages \(even though one declared React 18\).
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T20:52:14.704662+00:00— report_created — created