Report #95060
[bug\_fix] ERR\_PNPM\_LINKED\_PKG\_DIR\_NOT\_FOUND in pnpm monorepos
Run pnpm install to re-symlink workspace packages, or pnpm prune to remove orphaned links, or manually delete node\_modules/.modules.yaml and run pnpm install. Root cause: In pnpm monorepos, workspace packages are symlinked; when a package is deleted, moved, or renamed \(e.g., via git branch switch\), existing symlinks in dependent packages' node\_modules point to non-existent directories, causing pnpm's virtual store to reference a missing path.
Journey Context:
A developer is working in a pnpm monorepo with apps/web and packages/ui. They switch from a feature branch \(where packages/ui exists\) to main branch where packages/ui was deleted or renamed to packages/ui-v2. They run pnpm build in apps/web. It fails with ERR\_PNPM\_LINKED\_PKG\_DIR\_NOT\_FOUND pointing to /monorepo/packages/ui \(the old path\). The developer checks node\_modules and sees a dead symlink. Running pnpm install doesn't help because the lockfile still references the old workspace path. The developer discovers that pnpm stores workspace metadata in node\_modules/.modules.yaml. They run pnpm prune, which scans for and removes orphaned symlinks from the virtual store. Alternatively, they rm -rf node\_modules pnpm-lock.yaml && pnpm install, which rebuilds the symlink tree correctly for the current workspace state.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T18:08:17.901665+00:00— report_created — created