Post

Claude Code与DeepSeek Harness兼容问题

为了dsh安装了nvm并升级到v26,结果之前独立安装的Claude Code无法通过终端命令打开了。根本原因是Claude Code安装在D盘手动安装的Node环境中,其可执行文件所在目录不在PATH里,加上nvm管理的Node在E盘,两者路径互相干扰

Claude Code与DeepSeek Harness兼容问题

Node.js 双版本共存问题解决记录

适用场景:同时使用 dsh(需要 Node v26)和 Claude Code(推荐 Node v18),且两者独立安装在不同的目录。


📌 背景

在 Windows 环境下,为了运行 dsh(DeepSeek Harness),使用 nvm 管理 node 版本,并安装了 Node.js v26.0.0(位于 E:\dsh\nvm\)。在此之前,Claude Code 是独立安装的(位于 D:\NodeJs\),并且两者使用不同的 Node 运行时。


❌ 问题症状

  • 使用 nvm use 18.18.1 切换回旧版本后,终端输入 claude 提示:
    1
    
    claude: The term 'claude' is not recognized as a name of a cmdlet...
    
  • 但是直接双击 D:\NodeJs\node_global\node_modules\@anthropic-ai\claude-code\bin\claude.exe 可以正常启动 Claude Code。

🔍 根本原因分析

问题原因
claude 命令找不到claude.exe 所在目录未添加到系统 PATH 环境变量中
双击能运行,终端不行双击直接执行文件,不依赖 PATH;终端输入命令需要 PATH 查找
两个 Node 环境冲突nvm 管理的 Node 在 E:\dsh\nvm\,手动安装的 Node 在 D:\NodeJs\,两者独立但 PATH 配置混乱

✅ 最终解决方案

1. 找到 claude.exe 的实际路径

1
D:\NodeJs\node_global\node_modules\@anthropic-ai\claude-code\bin\claude.exe

⚠️ 注意:不同安装方式路径可能不同,以实际为准。可使用 Get-ChildItem -Path D:\NodeJs\node_global -Recurse -Filter "claude.exe" 查找。

2. 将该目录添加到系统 PATH 环境变量

  • Win + R,输入 sysdm.cpl,回车
  • 高级环境变量
  • 系统变量用户变量 中找到 Path,双击编辑
  • 点击 新建,粘贴路径:
    1
    
    D:\NodeJs\node_global\node_modules\@anthropic-ai\claude-code\bin
    
  • 点击确定保存

3. 重启所有终端窗口

关闭所有已打开的 PowerShell / CMD 窗口,重新打开,PATH 才会生效。


🎯 最终结果

场景操作结果
使用 dshnvm use 26.0.0npx @deepseek-ai/dsh web✅ 正常运行
使用 Claude Code任意 Node 版本下(v18、v22、v26 均可)直接输入 claude✅ 正常运行(调用 D 盘独立 Node v18 环境)

💡 关键原理

1
2
3
4
5
6
7
8
┌─────────────────────────────────────────────────────────────┐
│                        系统 PATH                            │
├─────────────────────────────────────────────────────────────┤
│  1. %NVM_HOME%           → 指向 E:\dsh\nvm\v26.0.0        │
│  2. %NVM_SYMLINK%        → 指向 C:\Program Files\nodejs   │
│  3. D:\NodeJs\...\claude-code\bin  → 包含 claude.exe      │
│  4. 其他路径...                                            │
└─────────────────────────────────────────────────────────────┘
  • nodenpmnpx → 由 nvm 控制,当前激活版本决定
  • claude → 直接指向 D 盘的独立安装,使用自身的 Node 运行时,不受 nvm 切换影响

📝 注意事项

  1. 不要轻易改动 PATH 顺序:当前配置工作正常后,尽量减少对 PATH 的修改,避免再次破坏查找顺序。

  2. 安装全局包时注意环境
    • 执行 npm prefix -g 查看当前全局安装目录
    • 给 Claude 装插件 → 确保在 D 盘环境(或直接使用 claude 内部命令)
    • 给 dsh 装工具 → 切换到 nvm 对应版本后再安装
  3. 历史数据安全:重新安装 Claude Code 不会清除 %USERPROFILE%\.claude 中的会话记录和记忆。

🔧 快捷命令参考

用途命令
切换到 dsh 所需版本nvm use 26.0.0
启动 dshnpx @deepseek-ai/dsh web
启动 Claude Codeclaude任何 Node 版本下均可
查看当前 Node 版本node -v
查看 npm 全局安装目录npm prefix -g
查看 PATH 中的 nvm 相关路径$env:Path -split ';' \| Select-String "nvm"(PowerShell)

文档创建日期:2026-08-16
状态:✅ 已验证可用

This post is licensed under CC BY 4.0 by the author.