vp run fails to resolve .bin executables with pnpm 12 on Windows (Failed to find executable astro)
Environment
- vite-plus: latest (reproduced on 0.1.24 and current latest)
- pnpm: 12.4.1 (reproduces), pnpm 11 (works)
- OS: Windows 11 Pro 10.0.26200
- Node: 24.20.0 (via mise)
- shell: PowerShell 7 / Git Bash
Summary
With the project installed by pnpm 12.4.1, vp run fails during task planning on
Windows even though the node_modules/.bin shims are well-formed and work fine
when invoked by pnpm itself.
Steps to reproduce
- Windows 11, pnpm 12.4.1 (
packageManager: pnpm@12.4.1, pnpm via mise, shamefullyHoist: true)
pnpm install
- Root script:
"dev:all": "pnpm --filter @sdata/web-vue run build:module && pnpm --filter @sdata/web-vue run jsongen && pnpm --filter @sd-design/sd-vue-docs run docs:vendor:only && vp run --parallel --filter @sdata/web-vue --filter @sd-design/sd-vue-docs dev:serve"
vp run dev:all (docs package dev:serve script is astro dev --host --force)
Actual result
error: Failed to plan tasks from `vp run --parallel --filter @sdata/web-vue --filter @sd-design/sd-vue-docs dev:serve` in task sd-design-vue-monorepo#dev:all
* Failed to find executable astro under cwd D:\work\sd-design\packages/sd-vue-docs with PATH: D:\work\sd-design\packages/sd-vue-docs\node_modules\.bin;D:\work\sd-design\node_modules\.bin;...
* cannot find binary path
The printed PATH starts with packages/sd-vue-docs/node_modules/.bin, which contains
the standard pnpm shims astro, astro.cmd, astro.ps1; astro.cmd's target
(node_modules/astro/bin/astro.mjs) exists.
Expected result
vp run resolves astro via astro.cmd (PATHEXT) like pnpm does, and starts the dev servers.
Key observation (pnpm 11 vs 12)
- With pnpm 12.4.1 installed
node_modules: vp run fails as above.
- Rolling back to pnpm 11 and reinstalling:
vp run works.
pnpm --filter @sd-design/sd-vue-docs run dev:serve works under both pnpm 11 and 12,
so pnpm 12's shims are functional; only vp's own executable resolution fails.
- Also reproduced with latest vite-plus after upgrading from 0.1.24 — not fixed upstream yet.
- Suspicious detail (may or may not be relevant): after the pnpm-11 reinstall,
.bin
contains duplicate-case entries (astro.cmd + astro.CMD, same for vite/rolldown/vue-tsc).
vp runfails to resolve.binexecutables with pnpm 12 on Windows (Failed to find executable astro)Environment
Summary
With the project installed by pnpm 12.4.1,
vp runfails during task planning onWindows even though the
node_modules/.binshims are well-formed and work finewhen invoked by pnpm itself.
Steps to reproduce
packageManager: pnpm@12.4.1, pnpm via mise,shamefullyHoist: true)pnpm installvp run dev:all(docs packagedev:servescript isastro dev --host --force)Actual result
The printed PATH starts with
packages/sd-vue-docs/node_modules/.bin, which containsthe standard pnpm shims
astro,astro.cmd,astro.ps1;astro.cmd's target(
node_modules/astro/bin/astro.mjs) exists.Expected result
vp runresolvesastroviaastro.cmd(PATHEXT) like pnpm does, and starts the dev servers.Key observation (pnpm 11 vs 12)
node_modules:vp runfails as above.vp runworks.pnpm --filter @sd-design/sd-vue-docs run dev:serveworks under both pnpm 11 and 12,so pnpm 12's shims are functional; only vp's own executable resolution fails.
.bincontains duplicate-case entries (
astro.cmd+astro.CMD, same for vite/rolldown/vue-tsc).