Skip to content

vp info uses npm instead of configured package manager, resulting in EBADDEVENGINES error #1893

Description

@dawnmist

Describe the bug

I installed vite-plus tonight to try on a new project, after removing my pre-existing nvm install so that I was starting fresh with vp managing my environment.

After scaffolding the project with vp create and confirming that pnpm should be used for the project, I was unable to run vp info <packagename> within the project as it kept defaulting to using npm instead of pnpm and failing due to the default devEngines.packagemanager config in the created project's package.json file:

{
  "devEngines": {
    "packageManager": {
      "name": "pnpm",
      "version": "10.12.1",
      "onFail": "download"
    }
  }
}

Commands vp add <packagename>, vp remove <packagename>, vp list, vp why <packagename> worked correctly using pnpm as configured.

vp upgrade <packagename> is also failing with the error message "error: Setup error: Failed to fetch package metadata from https://registry.npmjs.org/vite-plus/<packagename>: HTTP status client error (404 Not Found) for url (https://registry.npmjs.org/vite-plus/<packagename>)" (I tried this with multiple common packagenames such as "react" and "react-router"). I suspect this is related to the info command failing underneath and the error being swallowed into another error handler.

Reproduction

https://github.com/dawnmist/vite-plus-info-pnpm-example

Steps to reproduce

Reproduce from scratch:

  1. Install vite+ without having a global nvm/npm/pnpm install using curl -fsSL https://vite.plus | bash
  2. Create a react-router project, selecting yes to using pnpm as the default package manager using vp create react-router
  3. cd <project_dir>
  4. vp info react-router

Reproduce from example repo:

  1. gh repo clone dawnmist/vite-plus-info-pnpm-example
  2. cd vite-plus-info-pnpm-example
  3. vp info react-router

System Info

OS: Debian 13.5


$> vp env current
VITE+ - The Unified Toolchain for the Web

Environment:
  Version  24.17.0
  Source   lts

Tool Paths:
  node  /home/username/.vite-plus/js_runtime/node/24.17.0/bin/node
  npm   /home/username/.vite-plus/js_runtime/node/24.17.0/bin/npm
  npx   /home/username/.vite-plus/js_runtime/node/24.17.0/bin/npx

Package Manager:
  Name          pnpm
  Version       10.12.1
  Source        packageManager
  Source Path   /home/username/src/vite-plus-info-pnpm-example/package.json
  Project Root  /home/username/src/vite-plus-info-pnpm-example
  Bin Path      /home/username/.vite-plus/package_manager/pnpm/10.12.1/pnpm/bin/pnpm

$> vp --version
VITE+ - The Unified Toolchain for the Web

vp v0.2.1

Local vite-plus:
  vite-plus  v0.2.1

Tools:
  vite             v8.0.16
  rolldown         v1.1.1
  vitest           v4.1.9
  oxfmt            v0.55.0
  oxlint           v1.70.0
  oxlint-tsgolint  v0.23.0
  tsdown           v0.22.3

Environment:
  Package manager  pnpm v10.12.1
  Node.js          v24.17.0

$> vp env doctor
VITE+ - The Unified Toolchain for the Web

Installation
  ✓ VP_HOME           ~/.vite-plus
  ✓ Bin directory     exists
  ✓ Shims             node, npm, npx, corepack, vpx, vpr

Configuration
  ✓ Node.js mode      managed
  ✓ IDE integration   env sourced in ~/.profile

PATH
  ✓ vp                in PATH
  ✓ node              ~/.vite-plus/bin/node (vp shim)
  ✓ npm               ~/.vite-plus/bin/npm (vp shim)
  ✓ npx               ~/.vite-plus/bin/npx (vp shim)
  ✓ corepack          ~/.vite-plus/bin/corepack (vp shim)
  ✓ vpx               ~/.vite-plus/bin/vpx (vp shim)
  ✓ vpr               ~/.vite-plus/bin/vpr (vp shim)

Version Resolution
  Directory         /home/username/src/vite-plus-info-pnpm-example
  Source            lts
  Version           24.17.0
  ✓ Node binary       installed

✓ All checks passed

Used Package Manager

pnpm

Logs

$> vp info react-router
npm error code EBADDEVENGINES
npm error EBADDEVENGINES The developer of this package has specified the following through devEngines
npm error EBADDEVENGINES Invalid devEngines.packageManager
npm error EBADDEVENGINES Invalid name "pnpm" does not match "npm" for "packageManager"
npm error EBADDEVENGINES {
npm error EBADDEVENGINES   current: { name: 'npm', version: '11.13.0' },
npm error EBADDEVENGINES   required: { name: 'pnpm', version: '10.12.1', onFail: 'download' }
npm error EBADDEVENGINES }
npm error A complete log of this run can be found in: /home/username/.npm/_logs/2026-06-20T10_21_03_386Z-debug-0.log


Log contents:


0 verbose cli /home/username/.vite-plus/js_runtime/node/24.17.0/bin/node /home/username/.vite-plus/js_runtime/node/24.17.0/bin/npm
1 info using npm@11.13.0
2 info using node@v24.17.0
3 silly config load:file:/home/username/.vite-plus/js_runtime/node/24.17.0/lib/node_modules/npm/npmrc
4 silly config load:file:/home/username/src/dawnmists-dp-logbook/.npmrc
5 silly config load:file:/home/username/.npmrc
6 silly config load:file:/home/username/.vite-plus/js_runtime/node/24.17.0/etc/npmrc
7 verbose title npm view react-router
8 verbose argv "view" "react-router"
9 verbose logfile logs-max:10 dir:/home/username/.npm/_logs/2026-06-20T10_32_44_062Z-
10 verbose logfile /home/username/.npm/_logs/2026-06-20T10_32_44_062Z-debug-0.log
11 silly logfile start cleaning logs, removing 1 files
12 silly logfile done cleaning log files
13 verbose stack Error: The developer of this package has specified the following through devEngines
13 verbose stack Invalid devEngines.packageManager
13 verbose stack Invalid name "pnpm" does not match "npm" for "packageManager"
13 verbose stack     at View.checkDevEngines (/home/username/.vite-plus/js_runtime/node/24.17.0/lib/node_modules/npm/lib/base-cmd.js:247:27)
13 verbose stack     at async Npm.execCommandClass (/home/username/.vite-plus/js_runtime/node/24.17.0/lib/node_modules/npm/lib/npm.js:292:7)
13 verbose stack     at async Npm.exec (/home/username/.vite-plus/js_runtime/node/24.17.0/lib/node_modules/npm/lib/npm.js:193:9)
13 verbose stack     at async module.exports (/home/username/.vite-plus/js_runtime/node/24.17.0/lib/node_modules/npm/lib/cli/entry.js:67:5)
14 error code EBADDEVENGINES
15 error EBADDEVENGINES The developer of this package has specified the following through devEngines
15 error EBADDEVENGINES Invalid devEngines.packageManager
15 error EBADDEVENGINES Invalid name "pnpm" does not match "npm" for "packageManager"
16 error EBADDEVENGINES {
16 error EBADDEVENGINES   current: { name: 'npm', version: '11.13.0' },
16 error EBADDEVENGINES   required: { name: 'pnpm', version: '10.12.1', onFail: 'download' }
16 error EBADDEVENGINES }
17 verbose cwd /home/username/src/dawnmists-dp-logbook
18 verbose os Linux 6.12.90+deb13.1-amd64
19 verbose node v24.17.0
20 verbose npm  v11.13.0
21 verbose exit 1
22 verbose code 1
23 error A complete log of this run can be found in: /home/username/.npm/_logs/2026-06-20T10_32_44_062Z-debug-0.log

Validations

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

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