Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

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

Open
#2,642 2 comments 0 reactions 1 assignee View on GitHub

Maintainers usually reply within 1 day

@akim136 is already working on this.

Since Sep 26, 2026.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
66/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
node.js, rust

Research direction

Start at the managed Node.js runtime provisioning path exercised by vp run dev, using the shared path shown in the report as the concurrency boundary. Read issue #2449 for related provisioning behavior and verify the Windows case with two repositories requesting Node 24.21.0. Done means concurrent processes perform one download/install and both reuse the completed runtime.

Written by the indexing model from the issue text.

Description

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.
Dominant language
Rust
Stars
6k
Forks
271
Avg merge
22h 58m
Merged PRs (30d)
150

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from voidzero-dev/vite-plus

All issues in voidzero-dev/vite-plus

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.