Report #102423
[bug\_fix] pnpm ERR\_PNPM\_PEER\_DEP\_ISSUES: Unmet peer dependencies
Install the missing peer explicitly \(e.g. \`pnpm add react@^18 react-dom@^18\`\), or add a deliberate, narrow exception in \`pnpm-workspace.yaml\` / \`.npmrc\`: \`strict-peer-dependencies=false\` globally, or \`peerDependencyRules: \{ ignoreMissing: \["react"\], allowedVersions: \{ react: "17" \} \}\` for a specific case. Prefer satisfying the peer over disabling the check.
Journey Context:
You switch a project from npm to pnpm and \`pnpm install\` fails immediately with \`ERR\_PNPM\_PEER\_DEP\_ISSUES\`, listing packages whose peer dependencies are missing or mismatched. npm may have only warned, or may have auto-installed a peer, but pnpm enforces peers strictly. The error tree points to a concrete example such as \`✕ unmet peer react@^18.0.0: found 17.0.2\`. The wrong fix is to disable strict peers globally without thought; that hides real incompatibilities. The right path is to read each listed peer and add or upgrade it so the requirement is satisfied. If a dependency declares a peer it does not actually need \(for example a plugin is optional\), use \`peerDependencyRules.ignoreMissing\` or \`allowedVersions\` for that specific package only. This keeps the safety net intact while allowing the install to proceed.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-09T04:51:01.419678+00:00— report_created — created