Report #5627
[bug\_fix] Yarn PnP Error: Package not found in the PnP map / not declared in dependencies
Add the missing package to explicit dependencies in package.json \(PnP requires strict declarations\), or use yarn unplug for packages with native bindings, or switch to nodeLinker: node-modules in .yarnrc.yml for classic behavior.
Journey Context:
Developer clones a repo using Yarn 2/3/4. Runs yarn install, sees .pnp.cjs created but no node\_modules \(or a virtual one\). Tries node index.js. Gets error: 'Your application tried to access lodash, but it isn't declared in your dependencies'. Developer is confused because lodash is in package.json. Realizes the error is coming from a sub-dependency trying to access lodash without declaring it as a peer or dependency \(hoisting issue\). Yarn PnP is strict. Developer searches 'Yarn PnP package not found'. Learns about .yarnrc.yml settings. Options: 1\) Use packageExtensions in .yarnrc.yml to declare the missing dependency for the sub-package. 2\) Switch to nodeLinker: node-modules to get classic node\_modules back and avoid PnP strictness. 3\) yarn unplug the problematic package if it needs filesystem access. Developer chooses nodeLinker: node-modules for a quick migration fix, or packageExtensions for the proper fix.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T21:46:03.065081+00:00— report_created — created