Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

`pnpm create vite-plus` and `yarn create vite-plus` fail with `spawn vp ENOENT` when `vp` is not on PATH

已关闭
#3,177 0 条评论 1 个 reaction 已指派 1 人 在 GitHub 查看

维护者通常 1 天内回复

@fengmk2 已经在做这个了。

开始于 2026年10月21日。

  • #3181 来自 @fengmk2 —— 已合并

评估

这个 Issue 还没有评估数据。

描述

bug
Describe the bug

pnpm create vite-plus and yarn create vite-plus fail with spawn vp ENOENT at the dependency install step when no vp is on PATH. npm create vite-plus and bun create vite-plus succeed under the same conditions.

I expected create-vite-plus to work on a machine without a global Vite+ install, since it is the entry point recommended in #2970 and #3028.

The scaffold itself completes. Then vp create re-invokes vp install by bare command name (spawnargs: [ 'install' ]), and vp is not found. pnpm dlx and yarn dlx put only the bins of the requested package on PATH. After a pnpm create vite-plus run, the dlx directory's node_modules/.bin contains only create-vite-plus. vp belongs to the vite-plus dependency, so it is missing. npm's npx cache, by contrast, links vp and vpr next to create-vite-plus, which is why npm works. I did not inspect Yarn's dlx directory, but the symptom is the same.

A user with a global vp on PATH does not see this, because the bare vp then resolves to the global install. That install can also be a different version: here the global vp is 1.2.0 while create-vite-plus runs 1.3.0.

Reproduction

No repository needed; the steps below start from an empty directory.

Steps to reproduce

Use a shell whose PATH has Node.js and pnpm but no vp (I removed ~/.vite-plus/bin and kept the Node.js bin directory):

mkdir repro && cd repro
pnpm create [email protected] vite:application --directory app --no-agent --no-editor --no-git --no-hooks --no-interactive --verbose
# exit 1: spawn vp ENOENT

The same failure happens with --package-manager npm or --package-manager pnpm, and with Yarn 4.18.1:

corepack [email protected] create [email protected] vite:application --directory app --no-interactive --verbose
# exit 1: spawn vp ENOENT

For comparison, with the same PATH, these all exit 0 and install dependencies:

npm create [email protected] -- vite:application --directory app --no-interactive --verbose
bun create [email protected] vite:application --directory app --no-interactive --verbose
pnpm dlx --package [email protected] vp create vite:application --directory app --no-interactive --verbose
System Info
macOS (Darwin 27.0.0)
Node.js 24.22.0, pnpm 12.9.1 (Vite+ installed pnpm 12.14.0 for the template step), Yarn 4.18.1 through Corepack, npm 11.19.1, Bun 1.3.9
create-vite-plus 1.3.0, vite-plus 1.3.0

`vp --version` and `vp env current` are not applicable: the bug only reproduces without `vp` on PATH. The global vp on this machine, removed from PATH for the runs, reports v1.2.0.
Used Package Manager

pnpm (also Yarn)

Logs
Done in 97ms using pnpm v12.14.0
◆ ✔ Created vite.config.ts in app/vite.config.ts
◆ ✔ Merged staged config into app/vite.config.ts
▲ Failed to install git hooks
● Installing dependencies...
■ spawn vp ENOENT
Error: spawn vp ENOENT
    at ChildProcess._handle.onexit (node:internal/child_process:316:19)
    at onErrorNT (node:internal/child_process:554:16)
    at process.processTicksAndRejections (node:internal/process/task_queues:90:21) {
  errno: -2,
  code: 'ENOENT',
  syscall: 'spawn vp',
  path: 'vp',
  spawnargs: [ 'install' ]
}
Failed to generate code: spawn vp ENOENT

(That log comes from a run with --git --hooks, which also shows Failed to install git hooks, probably for the same reason.)

Validations
  • Read the Contributing Guidelines.
  • Checked that there isn't already an issue for the same bug.
  • Confirmed this is a Vite+ issue and not an upstream issue.
  • The provided reproduction is a minimal reproducible example.
主要语言
Rust
星标
6.3k
派生
283
平均合并
1 天 14 小时
30 天内合并 PR
230

环境准备

在 Codespaces 中打开

在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

voidzero-dev/vite-plus 的其他 Issue

查看 voidzero-dev/vite-plus 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。