Report #7950
[bug\_fix] Error: Cannot find module 'lodash' Require stack: /path/to/project/index.js
Add the missing package explicitly to \`dependencies\` in \`package.json\` using \`pnpm add lodash\` rather than relying on it being present via hoisting. Root cause: PNPM uses a strict \`node\_modules\` structure with content-addressable symlinks where packages can only access dependencies they explicitly declare, preventing 'phantom dependencies' that work in npm/yarn classic due to hoisting.
Journey Context:
Developer switches a project from npm to pnpm by running \`pnpm install\` after deleting node\_modules. The install succeeds with warnings about peer dependencies. Running the app throws 'Cannot find module lodash' even though the code worked perfectly with npm. Developer checks node\_modules and sees lodash is present in the store, but it's not symlinked into the project's immediate node\_modules. With npm/yarn, lodash was hoisted to the root node\_modules and accessible by the app accidentally \(a phantom dependency\). PNPM's strict node\_modules with symlinks only allows packages to access what they declare in package.json. The fix is to explicitly declare the dependency: \`pnpm add lodash\` which adds it to package.json and creates the proper symlink in the project's node\_modules.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T04:12:32.788879+00:00— report_created — created