Report #56292
[bug\_fix] Error: Qualified path resolution failed - PnP \(Plug'n'Play\)
Add the missing dependency to the package.json, or switch to \`nodeLinker: node-modules\` in \`.yarnrc.yml\` to restore classic node\_modules behavior.
Journey Context:
Developer clones a repository using Yarn 2\+ \(Berry\) with the default PnP \(Plug'n'Play\) mode. After \`yarn install\`, running the app throws "Qualified path resolution failed; unmatched specifiers" or "Your application tried to access \[package\], but it isn't declared in your dependencies". The developer realizes Yarn PnP doesn't use node\_modules; instead, it enforces that all dependencies are explicitly declared \(no phantom dependencies\). The code is trying to import a package that isn't listed in the immediate package.json. Developer tries \`yarn unplug \[package\]\` but that doesn't help. The solution is either to explicitly add the missing dependency to the correct package.json, or, if migrating from Yarn 1 and dealing with many undeclared dependencies, to opt out of PnP entirely by editing \`.yarnrc.yml\` to set \`nodeLinker: node-modules\`, which creates the traditional node\_modules folder and resolves modules the legacy way.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T00:58:41.094521+00:00— report_created — created