Conflict: dev-config installs nvm4w but TypeScript workload installs Node.js LTS directly
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 48/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- node.js, powershell, typescript
- Lĩnh vực
- developer-experience, devops, tooling
Hướng nghiên cứu
So sánh dev-config.winget với Workloads/typescript/configuration.winget, sau đó kiểm tra refresh-path.ps1 nếu việc xử lý PATH là một phần của phương án được chọn. Áp dụng cả hai cấu hình trên Windows và xác minh rằng node --version và npm khả dụng trong một terminal mới mà không có các bản cài đặt Node xung đột; chiến lược phối hợp được chọn phải rõ ràng và có thể tái lập.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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)
- Ngôn ngữ chính
- PowerShell
- Star
- 2.2k
- Fork
- 168
- Merge trung bình
- 5 giờ 14 phút
- Pull request đã merge (30 ngày)
- 5
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của microsoft/WindowsDeveloperConfig
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
microsoft/WindowsDeveloperConfig#100 · 1 bình luận ·
-
Question about shims Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
-
Comfort UI makes my wsl slower. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
microsoft/WindowsDeveloperConfig#84 · 1 bình luận ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 42/100
microsoft/WindowsDeveloperConfig#57 · 3 bình luận ·
Tất cả issue của microsoft/WindowsDeveloperConfig
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
hemilabs/ui-monorepo#2332 ·
-
Help-Wanted Needs-Triage Package-Update
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
microsoft/winget-pkgs#438662 ·
-
priority: p3
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
googleapis/librarian#7636 ·
-
bug good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
olcf/olcf-test-harness#278 · 1 bình luận ·