`npx --package=vite-plus vp create` fails with exit 127 when npm is the chosen package manager
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 70/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- nodejs, typescript
Piste de recherche
Le bogue vient de la façon dont vp create construit l'environnement de l'exécuteur de modèles : prependToPathToEnvs(..., { ...process.env }) dans packages/cli/src/create/discovery.ts transmet npm_config_package à l'appel imbriqué npx create-vite@latest. Commence par lire cette fonction, puis reproduis le problème avec la commande de l'issue ou l'extrait execSync. C'est terminé lorsque l'exécution sélectionnée par npm réussit et que les clés réservées à npm exec sont retirées de l'environnement du processus enfant, avec un test de régression dans discovery.spec.ts.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Describe the bug
When vp create runs under npx --package=vite-plus and npm is the selected package manager, the template runner fails with sh: create-vite@latest: command not found (exit 127).
npx --package=vite-plus sets npm_config_package=vite-plus in the environment of vp. vp create copies all of process.env into the template runner environment (packages/cli/src/create/discovery.ts, prependToPathToEnvs(..., { ...process.env })). The nested npx create-vite@latest … reads the inherited npm_config_package, so npm installs vite-plus and looks for a bin named create-vite@latest in it, which does not exist.
The same command succeeds when:
- the global
vpruns it, with no outernpx; pnpm dlx --package vite-plus vp createruns it;- pnpm, Yarn, or Bun is the selected package manager;
npm_config_packageis removed from the environment beforevpstarts.
Reproduction
No repository is needed. Run from an empty directory.
Steps to reproduce
npx --yes --package vite-plus vp create vite:application --directory app \
--package-manager npm --no-agent --no-editor --no-git --no-hooks --no-interactive --verbose
Output:
● Running: npx create-vite@latest app --no-interactive --no-immediate --no-rolldown
npm notice run 'create-vite@latest' app --no-interactive --no-immediate --no-rolldown
sh: create-vite@latest: command not found
Exit code 127. app is not created.
Minimal npm-only reproduction of the mechanism, without Vite+:
npx --yes --package cowsay node -e 'require("child_process").execSync("npx --yes create-vite@latest --help", { stdio: "inherit" })'
# sh: create-vite@latest: command not found (exit 127)
The same command with npm_config_package deleted from the child environment succeeds.
Suggested fix
Remove the npm exec-only keys inherited from an outer npm exec or npx (npm_config_package, and npm_config_call for npx -c) from envs before vp create spawns the package-manager runner. I am happy to open a pull request with a test in discovery.spec.ts if you want this approach.
System Info
macOS (Darwin 27.0.0)
Node.js 24.21.0
npm 11.19.0 (outer npx); vp installed npm 12.2.0 for the project
vite-plus 1.1.0 (main at c58f28c read for the source reference)
Used Package Manager
npm
Logs
See the output above. The exit code is 127. The outer npm debug log shows only that the parent command failed.
- Langage dominant
- Rust
- Étoiles
- 6.5k
- Forks
- 296
- Merge moyen
- 1 j 13 h
- PR mergées (30 j)
- 232
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de voidzero-dev/vite-plus
-
Docker guide: the runtime stage needs libatomic1 for Node.js 25 and laterPeut-être pris @kshanxs l’a pris il y a 1 jour. Ouvertedocumentation
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
voidzero-dev/vite-plus#3219 · 1 commentaire · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
pending triage
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
voidzero-dev/vite-plus#2882 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
vp run -r executes each package task twice when the root package has a matching recursive scriptPeut-être pris @wan9chi l’a pris il y a 1 jour. Ouvertepending triage
voidzero-dev/vite-plus#3221 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
pending triage
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
voidzero-dev/vite-plus#3218 ·
Les mainteneurs répondent en général sous 1 jour
-
LSP loads vite.config.ts with the server's cwd as rootPeut-être pris @leaysgur l’a pris il y a 2 jours. Ouvertepending triage
voidzero-dev/vite-plus#3217 · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de voidzero-dev/vite-plus
Issues similaires
-
api bug entity mobai
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Pumpkin-MC/Pumpkin#4312 ·
Les mainteneurs répondent en général sous 1 jour
-
bug easy good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
lacs-project/sysknife#659 ·
Les mainteneurs répondent en général sous 2 jours
-
E_FIT_INPUT_MISSING (mixture overrides): the message says ferx-r bundles lack mixture_overridesOuverteP3
Difficulté 1/5 Moins d'une heure Accessibilité débutants 83/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
Document multi-value claims with rowBoundaries operator:in (and their per-record application)Ouvertedocumentation
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
registrystack/registry-stack#2431 ·
Les mainteneurs répondent en général sous 1 jour