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

vp treats a nested project as part of the parent's pnpm workspace, ignoring its own packageManager and lockfile

未关闭
#3,013 2 条评论 0 个 reaction 已指派 2 人 在 GitHub 查看

维护者通常 1 天内回复

@wan9chi 已经在做这个了。

开始于 2026年10月14日。

  • #3051 来自 @liangmiQwQ —— 未关闭

评估

这个 Issue 还没有评估数据。

描述

bug enhancement
Describe the bug

In a repo whose root is a pnpm project with a settings-only pnpm-workspace.yaml (no packages, used for overrides / allowBuilds), vp treats every nested project as part of that workspace, even when the nested folder isn't listed under packages and has its own packageManager pin and lockfile.

Inside the nested npm project svc/:

  • vpr hello runs the root's hello script instead of svc's.
  • vp install --frozen-lockfile runs pnpm, which refuses with This project is configured to use npm. Without a packageManager field in svc/ it fails with Headless installation requires a pnpm-lock.yaml file instead.
  • vp env current inside svc/ reports pnpm 12.11.2 with source packageManager, the root's pin, not svc's [email protected].

I expected vp to treat svc/ as its own npm project, as it does when the root has no pnpm-workspace.yaml. pnpm 11+ only reads settings like overrides from pnpm-workspace.yaml, so a pnpm root can't avoid having one.

We hit this when switching a repo root to pnpm: about 20 Cloud Run services below it stay on npm or bun, and vp stopped working in all of them.

Workaround: a comment-only pnpm-workspace.yaml plus the packageManager pin in each nested project makes vp treat it as its own project again.

Reproduction

https://github.com/Goobles/vp-nested-workspace-repro

Steps to reproduce
git clone https://github.com/Goobles/vp-nested-workspace-repro
cd vp-nested-workspace-repro
./repro.sh

repro.sh runs vpr hello and vp install --frozen-lockfile in svc/, first with the root pnpm-workspace.yaml (bug), then with it moved away (expected behaviour).

System Info
# vp env current (run inside svc/)
Node.js:
  Version    24.19.0
  Source     default
  Bin Path   /home/agent/.vite-plus/js_runtime/node/24.19.0/bin/node
  Installed  true
  Mode       managed

Package Manager:
  Name       pnpm
  Version    12.11.2
  Source     packageManager
  Bin Paths
    pnpm     /home/agent/.vite-plus/package_manager/pnpm/12.11.2/pnpm/bin/pnpm
    pnpx     /home/agent/.vite-plus/package_manager/pnpm/12.11.2/pnpm/bin/pnpx
  Installed  true
  Mode       system_first

# vp --version
vp v1.1.0

# Linux x86_64
Used Package Manager

npm (nested project), pnpm (repo root)

Logs
### 1. Parent has pnpm-workspace.yaml (bug)
$ vpr hello
$ echo hello from ROOT ⊘ cache disabled
hello from ROOT

$ vp install --frozen-lockfile
  × This project is configured to use npm
  help: Run a one-off command with "pnpm dlx npm <command>", or link a npm
        command that follows this project's pin with "pnpm shim add npm".

### 2. Parent pnpm-workspace.yaml removed (expected behaviour)
$ vpr hello
$ echo hello from SVC ⊘ cache disabled
hello from SVC

$ vp install --frozen-lockfile
added 1 package, and audited 2 packages in 390ms
found 0 vulnerabilities
Validations

Written by claude-opus-5-5 via Claude Code in T3 Code on goobles-agentbox.

主要语言
Rust
星标
6k
派生
274
平均合并
1 天 11 小时
30 天内合并 PR
206

环境准备

在 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 摘要。