error: dsh is not installed and npm (node.js) is required 报错怎么修?DeepSeek Harness 缺 Node 排查

故障排查发布于 2026-10-13作者: DeepSeek Plugin 插件市场
DeepSeek HarnessDSH pluginNode.jsnpmPATH报错排查
运行 dsh 报 error: dsh is not installed and npm (node.js) is required,根因是系统缺可用的 Node/npm 运行时,装好 Node 后重开终端即可恢复。

运行 dsh 报 error: dsh is not installed and npm (node.js) is required,含义是当前系统里找不到可用的 Node/npm 运行时——报错 X → 执行 W 就一句话:先装 Node.js LTS,再用 node -v / npm -v 验证,最后重开终端让 PATH 生效(来源)。 它和你可能在别处见过的 command not found 是同一族,但这条专指「运行时缺失」这一支,不是 dsh 本体没装;只想排查「命令找不到」的一般情况,看《dsh 命令找不到怎么办》。这里如实交代一句:这条报错串来自用户搜索与反馈,官方仓库里没有逐字命中;能写进根因的只有有官方依据的那一层——dsh 是官方唯一受支持的 Node 应用启动器,机器缺可用的 Node/npm 运行时,它便无从启动。

「dsh is not installed and npm (node.js) is required」报错是什么意思

这句报错的意思是:dsh 启动器在做运行时检查时,既没找到一个可用的 npm (node.js) 运行时,也没有可用的 dsh 安装,于是直接拒绝启动(来源)。 它一次点了两件事:

  1. dsh is not installed —— 启动器在当前引用路径里找不到 dsh 本体,常见于只装了启动脚本、包还没拉全,或者压根没装。
  2. and npm (node.js) is required —— 更关键的一层:这台机器缺少可用的 Node/npm 运行时。DeepSeek Harness 的 CLI 跑在 Node.js 之上,缺了运行时,dsh 便无从启动。

先按现象对号入座,能省一半时间:

现象结论处理方向
node -v 报 command not foundNode 运行时缺失安装 Node.js LTS
node -v 正常、npm -v 报错npm 不在 PATH 或装歪了重装/修复 Node 发行版
两条命令都正常,dsh 仍报此错dsh 本体未就位用 npx 或全局安装补上
只在某个终端/某台机器报错PATH 或环境切换未生效重开终端、核对多版本

需要强调的是:报错指向「运行时」而不是「网络」或「插件」。它发生在 dsh 真正跑起来之前,所以插件、模型、代理这些都可以先放一边——环境没就位,后面全是空谈。

DeepSeek Harness 报这个错怎么修:装 Node LTS、验证、重开终端

修复顺序固定,四步走完即可:装 Node.js LTS → 验证 node -v / npm -v → 重开终端 → 用 dsh --version 收尾(来源)。

  1. 安装 Node.js LTS —— 到 nodejs.org 下载 LTS 版本安装,Windows 安装向导里勾选「Add to PATH」。预期:安装结束无报错,安装目录里出现 node、npm 可执行文件。
  2. 验证运行时 —— 新开一个终端执行:
    bash
    node -v
    npm -v
    
    预期:分别输出 v20.x 以上的版本号与 npm 版本号;若报 command not found,说明 PATH 还没含 Node 的 bin 目录,先别急着下一步。
  3. 重开终端 —— 关掉当前窗口,重新打开一个。预期:新窗口里 PATH 已重新加载,第 2 步的两条命令都能正常输出。这一步最容易被跳过,但在 Windows 与 macOS 上都是必需的。
  4. 收尾验证 dsh —— 执行:
    bash
    dsh --version
    
    预期:输出版本号,说明运行时与 dsh 都就位,报错消失。若此处仍报「not installed」,说明缺的是 dsh 本体,改用 npx @deepseek-ai/dsh web 或 npm install -g @deepseek-ai/dsh 补上。

一句话记忆:这条报错九成卡在「没装 Node」或「装了没进 PATH」两件事上,而这两件事都能靠「装一次 + 重开终端」解决。

修完怎么验证:确认当前生效的是哪份 Node

修完别只看一次 dsh --version——这条报错最常见的「回头客」是多份 Node 并存与 PATH 覆盖,快速自检三步即可。

  1. 看清当前生效的是哪一份 —— 执行 which -a node(Windows 用 where node)。预期:排在最前面的那份就是当前生效的 Node,确认它就是你刚装的 LTS。
  2. 确认 node 与 npm 出自同一目录 —— 执行 which node 与 which npm。预期:两者位于同一个 Node 安装目录;若分属两处,说明环境被多份 Node 混装污染了。
  3. 回归验证 —— 重跑 node -v、npm -v、dsh --version。预期:三条命令都正常,且换一个终端窗口行为一致,说明 PATH 已经稳定。

多版本 Node、PATH 覆盖与 npx 免安装的完整排查,属于「命令找不到」那一族的一般问题,已在《dsh 命令找不到怎么办》里逐条写过;本篇只负责「npm (node.js) is required」这一支。边界也一并说清:这条报错只覆盖「运行时缺失」,若 Node 正常、dsh 也装好却出现「无输出、退出码 0」的静默异常,那是另一族问题,见《dsh 静默退出、退出码 0 排查》。

排查 DSH plugin 环境报错前的须知

在动手装任何 DSH插件 之前,先把运行时这一层确认干净,能避免大半「装了却跑不起来」的二次报错。 三条须知:

  1. 先量运行时,再看插件 —— node -v、npm -v 是一切的前置条件;环境没就位时,插件报错往往是假象。
  2. 命令环境三件套一次查全 —— node -v、npm -v、npm prefix -g 一起看,能一次性排除「装了但不在 PATH」这类问题;更全的安装环境报错清单见《DeepSeek Harness 安装环境报错合集》。
  3. 区分报错归属 —— 本机环境类报错(缺 Node)与插件自身报错(包坏了)是两码事,别把环境问题甩给某个 DeepSeek插件。环境就绪后要从市场装插件,可以走 DSH Plugin Hub 的插件市场按分类挑。

使用 DSH plugin 的注意事项与局限

  1. PATH 是终端级状态 —— 每个新终端窗口都会重新读取,配置变更后务必重开验证;一次性通过不代表永久生效。
  2. 多版本 Node 要主动治理 —— 装了 nvm 之外又装了系统 Node,容易互相覆盖,统一用版本管理器最省心。
  3. node -v 只代表一份 —— 机器上可能存在多份 Node,dsh --version 也只反映当前 PATH 命中的那份,别用一个版本号给全部下结论。
  4. 报错文案会随版本变化 —— 具体措辞以你安装的官方 dsh 版本为准;根因判断以「运行时是否可用」为准,不随文案表述改变。
  5. npx 是旁路不是根治 —— 免安装运行能绕过全局 PATH 问题,但它本身也依赖 Node/npm,运行时该装还得装。

与其在终端里一遍遍手敲包名、再为 PATH 反复折腾,不如环境就绪后直接用 DSH Plugin Hub 把插件装起来:它是 DeepSeek Harness 桌面端内置的官方插件市场,插件市场、安装确认与系统日志都在界面上,装了什么、装到哪一步一目了然,省得在命令行里来回猜。

系统日志

来源:dsh CLI README、DeepSeek Harness 官方文档 - Quickstart

常见问题

运行 dsh 报 error: dsh is not installed and npm (node.js) is required 是什么原因?

这句报错说明当前系统找不到可用的 Node/npm 运行时,DeepSeek Harness 的 dsh 启动器跑在 Node.js 之上,缺了它就直接拒绝启动。先在终端执行 node -v 与 npm -v 确认被调用的是哪个版本,若返回 command not found,就说明运行时缺失或没进 PATH,装一次 Node LTS 再重开终端即可。

装了 Node 还是报 dsh is not installed and npm (node.js) is required,怎么排查 PATH?

多数是 PATH 没把 Node 的 bin 目录包进去。用 which node 查出它实际指向的路径,确认那是你要用的那份,再开一个全新的终端窗口让 PATH 重新加载,重跑 node -v 与 npm -v,dsh 报错随之消失。

同一台机器装了好几个 Node,dsh 却总说 not installed,到底是哪个在生效?

dsh 只会用到当前终端 PATH 里排在最前面的那份 Node。用 which -a node 列出全部候选,再用 nvm use <LTS 版本> 或调整 PATH 顺序,让 LTS 版本排到最前,重开终端后用 which node 与 which npm 确认二者出自同一目录。

不想全局装 Node,有没有别的办法先跑起 dsh?

可以先用 npx @deepseek-ai/dsh web 免安装运行,npx 会临时拉包并在受控环境里执行,不依赖系统全局安装的 dsh。但 npx 本身也依赖 Node/npm,所以运行时这一层还是必须先在机器上就位。

环境就绪之后,从哪装插件最不容易再踩坑?

运行时确认正常后,插件推荐从 DeepSeek Harness 桌面端内置的插件市场装,界面里装、卸、更新都有确认与结果提示,不必再和命令行环境纠缠。先跑通 node -v 与 npm -v,再去装插件,能避开大半二次报错。

相关术语

dsh
dsh 是 DeepSeek Harness 的命令行入口(CLI),通过 npm 包 @deepseek-ai/dsh 分发,运行在 Node.js 之上;正因为依赖运行时,缺少 Node/npm 时它会直接拒绝启动。— dsh CLI README
npm (node.js)
npm (node.js) 指 Node.js 运行时及其自带的 npm 包管理器,是 DeepSeek Harness 启动 dsh 的前置依赖;运行时缺失或未进 PATH,就会报 not installed。— dsh CLI README
PATH
PATH 是操作系统用来查找可执行文件的环境变量,终端只在启动时读取一次;Node 与 dsh 的 bin 目录不在 PATH 里,就会出现 command not found。— dsh CLI README
Node.js LTS
Node.js LTS 是 Node.js 的长期支持版本线,DeepSeek Harness 官方建议在 LTS 版本上运行 dsh,以规避较新运行时的小版本兼容问题。— DeepSeek Harness 官方文档 - Quickstart

来源