Report #90690
[bug\_fix] npm ERR\! code ERESOLVE - Dependency Tree Conflict
Add --legacy-peer-deps to npm install or set legacy-peer-deps=true in .npmrc. Root cause: npm 7\+ enforces strict peer dependency resolution; when the tree contains conflicting peer ranges \(e.g., React 17 vs 18\), the new algorithm cannot find a valid tree and halts instead of warning.
Journey Context:
Developer upgrades from Node 14/npm 6 to Node 18/npm 8. Running npm install on a legacy codebase immediately throws 'ERESOLVE unable to resolve dependency tree'. The error cites a conflict: @[email protected] requires react@^17.0.0, while the root project depends on react@^18.2.0. Developer deletes node\_modules and package-lock.json, retries, same error. They try --force, which installs but breaks runtime with multiple React instances. Diving into npm docs, they realize npm 7\+ changed peer deps from warnings to hard requirements. The legacy-peer-deps flag restores the npm 6 behavior where peer conflicts are allowed, letting the install proceed. Developer adds an .npmrc file with legacy-peer-deps=true to persist the fix for the team.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T10:48:58.350472+00:00— report_created — created