ワンクリックで
node-winget-collision
Node.js installed via winget collides with nvm — path priority, shim conflicts, resolution steps
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Node.js installed via winget collides with nvm — path priority, shim conflicts, resolution steps
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Build applications powered by GitHub Copilot using the Copilot SDK — session management, custom tools, streaming, hooks, MCP servers, BYOK, deployment patterns
CI/CD pipelines, infrastructure as code, and deployment automation for Azure workloads
Domain: DevOps & Cloud Engineering
Convert Word documents (.docx) to clean Markdown with image extraction and pandoc cleanup
Convert Markdown to RFC 5322 email (.eml) with inline CSS and CID images
Convert Markdown to EPUB 3 e-books via Pandoc.
| type | skill |
| lifecycle | stable |
| inheritance | inheritable |
| name | node-winget-collision |
| description | Node.js installed via winget collides with nvm — path priority, shim conflicts, resolution steps |
| tier | extended |
| applyTo | **/*node*,**/*winget*,**/*collision* |
| currency | "2026-04-30T00:00:00.000Z" |
| lastReviewed | "2026-04-30T00:00:00.000Z" |
Category: Windows / Node.js Time Saved: 30-60 minutes debugging Battle-tested: Yes — occurred during Node.js upgrade
You install Node.js 22 via winget. It works. Later you uninstall the old Node.js 20 version. Suddenly node --version gives an error or shows the wrong version. Your terminal can't find node at all.
Multiple winget Node.js packages share the same installation directory:
OpenJS.NodeJS.22 → C:\Program Files\nodejs\
OpenJS.NodeJS.LTS → C:\Program Files\nodejs\
OpenJS.NodeJS → C:\Program Files\nodejs\
When you uninstall ANY of them, winget removes the shared binaries — even if another package is still "installed."
When upgrading Node.js via winget: Install new first, verify, THEN uninstall old.
# Install Node 24 (don't uninstall old yet!)
winget install OpenJS.NodeJS --version 22.x.x
# Or use the versioned package
winget install OpenJS.NodeJS.22
# Close and reopen terminal, then:
node --version
# Should show v22.x.x
npm --version
# Should work
# NOW it's safe to remove old version
winget uninstall OpenJS.NodeJS.LTS
# Or uninstall by exact ID from winget list
winget list nodejs # Find the exact ID
winget uninstall OpenJS.NodeJS --version 20.x.x
node --version
# Still v22.x.x — good!
# 1. Check what winget thinks is installed
winget list nodejs
# 2. Uninstall all Node entries
winget uninstall OpenJS.NodeJS
winget uninstall OpenJS.NodeJS.LTS
winget uninstall OpenJS.NodeJS.22
# 3. Clean up PATH (if needed)
# Remove stale C:\Program Files\nodejs entries
# 4. Fresh install
winget install OpenJS.NodeJS.22
# 5. Restart terminal and verify
node --version
# Check current PATH
$env:PATH -split ';' | Where-Object { $_ -like '*nodejs*' }
# If it shows paths that don't exist:
# System Properties → Environment Variables → Path → Remove bad entries
Avoid the problem entirely with Node Version Manager:
# Install nvm-windows
winget install CoreyButler.NVMforWindows
# Then manage versions safely
nvm install 22
nvm install 20
nvm use 22
nvm list
| Package ID | Description |
|---|---|
OpenJS.NodeJS | Latest stable |
OpenJS.NodeJS.LTS | Latest LTS |
OpenJS.NodeJS.22 | Specific v22 |
OpenJS.NodeJS.20 | Specific v20 |
OpenJS.NodeJS.18 | Specific v18 |
node --version after installnpm --version workspat-expiration-silent — Silent failures in Windows tools