Report #80303
[bug\_fix] ERR\_PNPM\_PEER\_DEP\_ISSUES: Unmet peer dependencies @typescript-eslint/[email protected] └── ✕ missing peer typescript@\*
Add the missing peer dependencies \(in this example, 'typescript'\) to your package.json dependencies, or configure pnpm to ignore specific peer dependency rules by adding 'pnpm': \{ 'peerDependencyRules': \{ 'ignoreMissing': \['typescript'\] \} \} to your package.json. Do not use --force in CI. Root cause: pnpm strictly enforces peer dependency contracts, unlike npm v7\+ which auto-installs peers or yarn which merely warns; if a package declares a peerDependency that isn't satisfied in the dependency tree, pnpm blocks installation to prevent runtime 'cannot find module' errors.
Journey Context:
Developer switches their team project from npm to pnpm for disk space efficiency. They run pnpm install on a TypeScript/React project. Immediately gets ERR\_PNPM\_PEER\_DEP\_ISSUES listing five unmet peer dependencies including 'typescript' and 'react'. Developer is confused because 'npm install worked perfectly fine'. They read the pnpm documentation on peer dependencies and learn that npm v7\+ was auto-installing peer dependencies implicitly, whereas pnpm requires them to be explicit in the consumer's package.json. Developer adds 'typescript': '\*' and 'react': '^18.0.0' to their package.json dependencies. Running pnpm install now succeeds. Later they learn they can use 'pnpm.peerDependencyRules.autoInstallPeers=true' in .npmrc to mimic npm behavior, but prefer the explicitness to avoid version mismatches.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T17:23:44.436245+00:00— report_created — created