Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Concurrent `vp run dev` processes download the same Node.js runtime twice

Aperta
#2,642 2 commenti 0 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@akim136 ci sta già lavorando.

Dal 26/9/2026.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
66/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
node.js, rust

Direzione di ricerca

Inizia dal percorso di provisioning del runtime Node.js gestito utilizzato da vp run dev, usando il percorso condiviso mostrato nel report come limite di concorrenza. Leggi issue #2449 per il comportamento di provisioning correlato e verifica il caso Windows con due repository che richiedono Node 24.21.0. Il lavoro è completo quando i processi concorrenti eseguono un solo download/una sola installazione ed entrambi riutilizzano il runtime completato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

contribution welcome enhancement
Describe the bug

When running vp run dev from two separate repositories that require the same managed Node.js version, Vite+ downloads the same Node.js runtime independently for each process instead of coordinating the installation and reusing the shared runtime.

The two repositories are unrelated (API and web), but both resolve to the same Vite+ managed runtime location under the user-level Vite+ directory.

This suggests that the runtime itself is intentionally shared globally, but concurrent vp processes may both observe the runtime as missing and start their own download/install operation.

Expected behavior

If multiple vp processes require the same Node.js version concurrently, only one process should download/install the runtime. Other processes should wait for the installation to complete and then reuse the same runtime.

Conceptually:

API vp run dev  ──┐
                 ├── shared runtime lock ──> download Node 24.21.0 once
Web vp run dev  ──┘                         └─> both reuse it
Actual behavior

Both projects trigger a Node.js download even though they resolve to the same shared managed runtime.

Environment

OS: Windows 11

Node runtime reported by Vite+:

VITE+ - The Unified Toolchain for the Web

Environment:
  Version  24.21.0
  Source   lts

Tool Paths:
  node  C:\Users\<username>\.vite-plus\js_runtime\node\24.21.0\node.exe
  npm   C:\Users\<username>\.vite-plus\js_runtime\node\24.21.0\npm.cmd
  npx   C:\Users\<username>\.vite-plus\js_runtime\node\24.21.0\npx.cmd
Why this seems like a Vite+ issue

The managed Node runtime is stored in a user-level shared location rather than inside either repository. Therefore, downloading the same runtime independently for concurrent projects appears unnecessary and can waste bandwidth and startup time.

A related issue, #2449, shows that vp run provisions managed Node.js runtimes, but that issue concerns interrupted downloads rather than concurrent deduplication:
https://github.com/voidzero-dev/vite-plus/issues/2449

Suggested solution

Add cross-process synchronization around managed Node.js runtime installation, keyed by runtime/platform/version. For example, a filesystem lock around the shared runtime directory could allow one process to perform the download while other processes wait and then reuse the installed runtime.

Validations
  • Checked the existing Vite+ issues for a duplicate report.
  • Confirmed both projects resolve to the same global managed Node.js runtime.
  • This appears specific to Vite+'s managed runtime provisioning rather than the projects themselves.
Lingua principale
Rust
Stelle
6k
Fork
274
Merge medio
1g 11h
PR unite (30g)
206

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di voidzero-dev/vite-plus

Tutte le issue di voidzero-dev/vite-plus

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.