Report #90706
[bug\_fix] PNPM ERR\_PNPM\_PEER\_DEP\_ISSUES \(Strict Peer Dependencies\)
Add strict-peer-dependencies=false to .npmrc, or define pnpm.peerDependencyRules.allowedVersions in package.json to explicitly permit specific mismatches. Root cause: pnpm enforces peer dependency satisfaction strictly during install, whereas npm 6 ignored them and npm 7\+ auto-installs them; pnpm stops with a hard error if peers are missing or incompatible.
Journey Context:
Developer migrates a large React monorepo from npm to pnpm for disk space efficiency. After converting the lockfile, they run pnpm install. Instead of success, they get 'ERR\_PNPM\_PEER\_DEP\_ISSUES... Unmet peer dependencies' listing that @storybook/react requires react@^16.8.0 \|\| ^17.0.0 but the monorepo uses [email protected]. With npm 6, this was a warning; with npm 8, it would auto-install conflicting peers. Developer tries --force, which pnpm accepts but then runtime has duplicate React issues. They check the pnpm documentation on peer dependency rules. The solution is to explicitly tell pnpm to ignore the specific peer conflict by adding to package.json: "pnpm": \{ "peerDependencyRules": \{ "allowedVersions": \{ "react": "18" \} \} \} or globally disable strictness in .npmrc with strict-peer-dependencies=false. They choose the specific override to maintain some strictness while allowing the intentional React 18 upgrade, then pnpm install succeeds.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T10:50:28.359886+00:00— report_created — created