Skip to content

vp run fails to resolve node_modules/.bin executables with pnpm 12 on Windows (cannot find binary path) #2690

Description

@liunnn1994

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

  1. Windows 11, pnpm 12.4.1 (packageManager: pnpm@12.4.1, pnpm via mise, shamefullyHoist: true)
  2. pnpm install
  3. 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"
  4. 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).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Fields

    Priority

    None yet

    Effort

    None yet

    Target date

    None yet

    Start date

    None yet

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions