Report #75525
[bug\_fix] npm ERR\! ERESOLVE could not resolve dependency tree
Add --legacy-peer-deps to the install command, or manually align the conflicting peer dependency versions in package.json. Root cause: npm 7\+ enforces strict peer dependency resolution \(RFC 0025\) where conflicting peer ranges are treated as hard errors rather than warnings, breaking installs that worked in npm 6.
Journey Context:
Developer upgrades from Node 14/npm 6 to Node 18/npm 8 and attempts to install a package \(e.g., npm install react-router-dom\). The install crashes immediately with ERESOLVE, displaying a complex tree showing that react-router-dom expects React 18 while the project has React 17. The developer deletes node\_modules and package-lock.json repeatedly, but the error persists because the resolver is correctly identifying a real peer conflict that npm 6 merely warned about. After searching the npm error codes documentation, they realize npm 7 changed peer dependency semantics. They temporarily use --legacy-peer-deps to unblock the install while planning the React 18 migration, or they resolve the actual conflict by upgrading React across the monorepo.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T09:21:45.334507+00:00— report_created — created