Conflict: dev-config installs nvm4w but TypeScript workload installs Node.js LTS directly
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 48/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- node.js, powershell, typescript
- Bereich
- developer-experience, devops, tooling
Rechercherichtung
Vergleiche dev-config.winget mit Workloads/typescript/configuration.winget und prüfe anschließend refresh-path.ps1, falls die PATH-Behandlung Teil des gewählten Ansatzes ist. Wende beide Konfigurationen unter Windows an und verifiziere, dass node --version und npm in einem neuen Terminal ohne konfligierende Node-Installationen verfügbar sind; die gewählte Koordinationsstrategie sollte explizit und reproduzierbar sein.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Summary
The main dev-config.winget installs NVM for Windows (CoreyButler.NVMforWindows), which manages Node.js versions via a symlink at C:\nvm4w\nodejs and adds that to PATH. However, the TypeScript workload (Workloads/typescript/configuration.winget) separately installs OpenJS.NodeJS.LTS directly via winget, which places Node at C:\Program Files\nodejs.
This creates a broken state where:
- PATH points to
C:\nvm4w\nodejs(set by nvm4w) - The nvm4w symlink targets a version directory (e.g.
C:\Users\<user>\AppData\Local\nvm\v24.16.0) that does not exist because Node was installed via the MSI package, not throughnvm install nodeandnpmare not found on PATH despite Node.js being physically installed
Steps to Reproduce
- Apply the main
windows-dev-config/dev-config.winget(installs nvm4w, addsC:\nvm4w\nodejsto PATH) - Apply
Workloads/typescript/configuration.winget(installsOpenJS.NodeJS.LTStoC:\Program Files\nodejs) - Open a new terminal
- Run
node --version→ command not found
Root Cause
nvm4w owns the PATH entry (C:\nvm4w\nodejs) and expects Node to be installed via nvm install <version> + nvm use <version>. The direct winget install of OpenJS.NodeJS.LTS puts node elsewhere and nvm4w's symlink points to a non-existent directory.
Suggested Fix
Option A — TypeScript workload defers to nvm4w:
Replace the OpenJS.NodeJS.LTS winget package resource with a RunCommandOnSet that runs:
nvm install lts
nvm use lts
Option B — Remove nvm4w from dev-config, let workloads install Node directly:
Remove CoreyButler.NVMforWindows from dev-config.winget and ensure C:\Program Files\nodejs ends up on PATH (the Node MSI installer does this by default).
Option C — Keep both but coordinate PATH:
If both are intentional, the TypeScript workload should add C:\Program Files\nodejs to PATH explicitly, or the refresh-path.ps1 should detect and resolve the nvm4w symlink conflict.
Environment
- Windows 11 (Build 2026)
- winget v1.28.240
- CoreyButler.NVMforWindows 1.2.2
- OpenJS.NodeJS.22 24.16.0 (installed by winget as the LTS package)
- Vorherrschende Sprache
- PowerShell
- Sterne
- 2.2k
- Forks
- 168
- Ø Merge
- 5 Std. 14 Min.
- Gemergte PRs (30 T.)
- 5
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus microsoft/WindowsDeveloperConfig
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
microsoft/WindowsDeveloperConfig#100 · 1 Kommentar ·
-
Question about shims Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
microsoft/WindowsDeveloperConfig#84 · 1 Kommentar ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 42/100
microsoft/WindowsDeveloperConfig#57 · 3 Kommentare ·
Alle Issues in microsoft/WindowsDeveloperConfig
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
-
help wanted
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
hemilabs/ui-monorepo#2332 ·
-
Help-Wanted Needs-Triage Package-Update
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
microsoft/winget-pkgs#438662 ·
-
priority: p3
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
googleapis/librarian#7636 ·
-
bug good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
olcf/olcf-test-harness#278 · 1 Kommentar ·