nvm 没有安装成功(或没有加载到当前 shell)。这说明之前的安装脚本没生效,或者 ~/.bashrc 没有被正确加载。
请按顺序执行下面的步骤。
🛠️ 方案一:用 NodeSource 直接安装 Node.js 24(更简单)
如果不想折腾 nvm,直接用系统包管理器安装最省事:
# 1. 添加 NodeSource 仓库
curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash -
# 2. 安装 Node.js
sudo apt install -y nodejs
# 3. 验证
node -v
预期输出:v24.x.x。
这种方法会把系统的 node 直接替换成 v24,不需要配置 PATH,也不会出现“换了 shell 就丢失”的问题。
🛠️ 方案二:重新安装 nvm
如果你想用 nvm 管理多个 Node 版本,可以手动安装:
1. 下载安装脚本
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
2. 手动加载 nvm(关键一步)
安装脚本通常会把 nvm 的初始化写入 ~/.bashrc,但当前终端不会自动加载。你需要立即手动加载:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
3. 验证 nvm 可用
nvm --version
如果能输出版本号,说明 nvm 已经生效。
4. 安装并使用 Node.js 24
nvm install 24
nvm use 24
nvm alias default 24
node -v
⚠️ 安装完 nvm 后
nvm 只在当前 shell 有效。新开终端会自动加载 ~/.bashrc,一般没问题。如果新终端里 nvm 还是找不到,检查 ~/.bashrc 末尾是否有这几行(没有就手动加上):
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
✅ 升级完成后
确认 node -v 输出 v24.x.x 后,再回到项目目录重装依赖:
cd ~/deepseek-harness
rm -rf node_modules
pnpm install
💡 建议
如果你的目标是尽快把项目跑起来,推荐用方案一(NodeSource),路径最短、最不容易出错。如果之后需要频繁切换 Node 版本,再考虑 nvm。
先跑 node -v,如果已经是 v24,直接 pnpm install 即可。
验证结果
方案1 和 方案2 都能成功地在 Ubuntu 24.04.3 LTS 上安装。2026年9月18日20:07:44。
nvm 的实际应用
在 Ubuntu 上安装 deepseek-harness
安装方式1 - Run from npm
Install Node.js, then run:
npx @deepseek-ai/dsh web
The command starts the Web UI at http://127.0.0.1:3080 by default and opens it in the default browser for a local launch. An SSH launch only prints the host URL because the SSH client or editor owns the local forwarded address. Pass --no-open to run the server without opening a browser. See Web UI guide.
安装方式2 - Run from source
To run from a repository checkout:
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web
pnpm run build prepares the repository artifacts. pnpm dsh web uses those built artifacts without rebuilding.
这种安装过程,需要先安装好 nvm 在安装好 Node.js 24 才能用 pnpm 工具。
在 Windows host 上访问 VMware 上的 Ubuntu 里的 deepseek-harness 服务
1. 在 Ubuntu VMware 上开启 deepseek-harness 服务:
maple@KICKPI-RK3576:~/deepseek-harness$ pnpm dsh web
2. 在本地终端建立如下关联:
ssh -L 3080:127.0.0.1:3080 用户名@虚拟机IP
ssh -L 3080:127.0.0.1:3080 maple@192.168.116.144
保持 SSH 连接,从 Ubuntu 的 pnpm dsh web 动态输出信息中,找出链接网址:
maple@KICKPI-RK3576:~/deepseek-harness$ pnpm dsh web
$ node --import tsx/esm apps/cli/src/bin.ts web
dsh web: http://127.0.0.1:3080/?token=mAhh5NCrvv7-pCQye4bHaPMkZysHZjYVCVpWAiAKQFk
dsh web: opening the default browser; pass --no-open to disable
然后在宿主机浏览器访问:
http://127.0.0.1:3080/?token=xxxxx,即:
# 在 Windows 主机浏览器中输入网址:(验证OK 2026年9月18日20:44:56)
http://127.0.0.1:3080/?token=mAhh5NCrvv7-pCQye4bHaPMkZysHZjYVCVpWAiAKQFk
这样就把宿主机的 3080 转发到了虚拟机的 127.0.0.1:3080。
注意:这种方式建立的关联不是永久的。 SSH 端口转发是会话级的,只在 SSH 连接存活期间有效。
一旦 SSH 连接断开(关掉终端、网络中断、虚拟机重启等),转发就会立即失效,宿主机上的 http://127.0.0.1:3080/ 也会无法访问。
3. 在 Windows 主机的 CodeArts/VScode 终端内,同理:

maple@KICKPI-RK3576:~$ cd deepseek-harness/
maple@KICKPI-RK3576:~/deepseek-harness$ pnpm dsh web
$ node --import tsx/esm apps/cli/src/bin.ts web
dsh web: http://127.0.0.1:3080/?token=Hu0q3eHlquwjqRC-WrC3tlOMWlo6bSM-HeEGUFQbojE
4. DSH - DeepSeek Harness 插件
还有一种方法更加直接,也就是 Windows 主机的 CodeArts/VScode 商店里的 deepseek-harness 插件本身就支持本地和远程两种模式去链接 deepseek-harness 服务:
DSH - DeepSeek Harness
- 连接管理:本地 / 远程双模式,状态栏实时显示连接状态;事件流断线自动重连。
- 本地模式(默认):配置
dsh.localServerPath后自动拉起dsh web并连接(若 3080 端口已有 DSH 实例在运行则直接复用,不重复拉起);也可直接连默认http://127.0.0.1:3080。 - 远程模式:开启
dsh.remote并填入 DSH 启动 token(dsh.token),扩展自动换取会话 cookie 认证,改配置自动重连。
- 本地模式(默认):配置
实际上也是可以用的:
保证远程模式下每次手动填写 网址里的 token 密钥


114

被折叠的 条评论
为什么被折叠?



