Report #84182
[bug\_fix] Error: Cannot find module 'phantom-dep' \(Phantom dependency/hoisting issue\)
Add the missing package explicitly to the project's dependencies \(npm install phantom-dep\), or configure .npmrc with public-hoist-pattern\[\]=\* for the specific package, or use shamefully-hoist=true as a last resort.
Journey Context:
Developer migrates a working npm/Yarn project to pnpm. After running pnpm install, the application crashes with 'Cannot find module lodash' \(or similar\) even though the code references it directly. The developer checks node\_modules and sees lodash is present at the root but not in the package's own node\_modules. They realize the code was importing a package that was not listed in its own package.json but was hoisted from a sub-dependency in npm's flat node\_modules. pnpm's strict node\_modules layout prevents this 'phantom dependency'. The fix is to explicitly declare the dependency in package.json. If there are too many to fix immediately, they might temporarily enable shamefully-hoist in .npmrc to emulate npm's behavior while they refactor.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T23:53:35.315373+00:00— report_created — created