Report #35499
[bug\_fix] ERR\_PNPM\_PEER\_DEP\_ISSUES \( ERR\_PNPM\_PEER\_DEP\_ISSUES \)
Add the missing peer dependencies to your project's direct dependencies \(pnpm add \), or create a .pnpmfile.cjs in the project root with a readPackage hook to override the peer dependency requirements if the package declares incorrect ranges. Alternatively, set strict-peer-dependencies=false in .npmrc to ignore the check \(not recommended for libraries\). The root cause is that pnpm enforces strict peer dependency satisfaction by default, whereas npm auto-installs them or ignores them depending on version; pnpm requires explicit declaration.
Journey Context:
You migrate a working project from npm to pnpm by running pnpm install. Instead of node\_modules, you get a wall of red text: "ERR\_PNPM\_PEER\_DEP\_ISSUES: Unmet peer dependencies" listing dozens of packages like eslint-plugin-react needing eslint@^7 but your project uses eslint@8. You try pnpm install --force but pnpm rejects it. You check if you should downgrade eslint, but that breaks your rules. You search and find that pnpm is stricter than npm 7\+. You create a .pnpmfile.cjs with a readPackage hook to override the peer dependency to allow eslint@8 for that specific plugin, or you realize you can simply add eslint-plugin-react to your devDependencies with an override. Alternatively, for a quick local fix, you add strict-peer-dependencies=false to .npmrc, but understand this masks issues. The install now proceeds because pnpm sees the peer dependency is explicitly provided by your root package.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T14:03:02.550397+00:00— report_created — created