Node.js detection for Windows users utilizing `nvm-windows`.
Raw Developer Origin & Technical Request
GitHub Issue
Mar 31, 2026
### 问题或动机
Windows 用戶如果使用 nvm-windows 管理 Node.js,Qclaw 目前無法偵測到他們的 Node。
原因在 node-subprocess-runtime.ts 中,當 platform === 'win32' 時,nvm 偵測邏輯直接回傳 null,
完全跳過了 nvm-windows 的路徑掃描。
這導致使用 nvm-windows 的 Windows 用戶在環境檢測階段看到「未偵測到 Node.js」,
即使他們已透過 nvm-windows 安裝了符合版本要求的 Node。
### 建议方案
新增 nvm-windows 專用的偵測邏輯:
1. 新增 detectNvmWindowsDir()
- 優先讀取 NVM_HOME 環境變數
- 回退到 %APPDATA%\nvm 預設路徑
2. 新增 listInstalledNvmWindowsNodeExePaths()
- 掃描 nvm-windows 目錄下的版本資料夾(如 v22.17.1\node.exe)
- 依版本號由高到低排序
3. 在 resolveQualifiedNodeRuntime() 中,
當 platform === 'win32' 時呼叫上述函式,取代原本的 null
4. 修正 resolveNodeInstallStrategy() 的路徑比對,
將 Windows 反斜線正規化後再比較,確保 nvm-windows 路徑被正確識別為 nvm 策略
改動範圍侷限於 Windows 平台,不影響 macOS/Linux。
### 替代方案
_No response_
### 补充信息
nvm-windows 預設安裝路徑:%APPDATA%\nvm
版本目錄結構:%APPDATA%\nvm\v22.17.1\node.exe
我已在本機完成實作並驗證:
- npm run typecheck ✅
- 新增 9 個測試全部通過 ✅
- 無新增的測試失敗
分支:feat/nvm-windows-detection
Fork:github.com/JasonYang318/Qcla...
Developer Debate & Comments
Adjacent Repository Pain Points
Other highly discussed features and pain points extracted from qiuzhi2046/Qclaw.
Engagement Signals
Cross-Market Term Frequency
Quantifies the cross-market adoption of foundational terms like Node.js and nvm-windows by tracking occurrence frequency across active SaaS architectures and enterprise developer debates.
Market Trends