node命令报错“不是内部或外部命令”是因系统path未正确配置,需将node解压目录加入系统级环境变量;离线时npm需切换至本地registry并清理package-lock.json;vscode调试失败主因是未识别系统级node路径,须重启进程刷新path。

node 命令在终端报“不是内部或外部命令”
说明系统根本找不到 node 可执行文件,不是 VSCode 的问题,而是 PATH 没配对。离线环境尤其容易卡在这一步。
- Windows 下必须手动把 Node.js 解压后的目录(比如
C:offline odejs)加进系统环境变量Path,不能只加到用户变量里——VSCode 启动时读的是系统级 PATH - macOS/Linux 离线时别用
nvm,它依赖网络下载版本;直接解压node-v18.20.2-darwin-arm64.tar.gz到/usr/local/node,然后用sudo ln -sf /usr/local/node/bin/node /usr/local/bin/node建软链 - 验证一定要在**系统终端**(不是 VSCode 内置终端)里运行
node -v和npm -v,失败就别往下走
npm install 总是超时或 404
离线或局域网没连公网时,npm 默认仍会尝试访问 https://registry.npmjs.org/,必须立刻切本地源。
诊断并恢复通过 SSH 隧道连接的 OpenClaw 节点。用于解决配对必需错误、隧道冲突、远程端点错误以及 SSH 目标配置错误等问题。
- 提前下载好私有 registry 镜像包(如 Verdaccio 或 sinopia),解压后用
verdaccio --config config.yaml启动,监听http://192.168.1.100:4873 - 执行
npm config set registry http://192.168.1.100:4873,注意 URL 末尾**不能带斜杠**,否则npm install会静默失败 - 如果项目已有
package-lock.json,里面记录的是公网 registry 地址,需先删掉再重装;或者用npm install --no-package-lock绕过 - 某些包(如
node-sass)会额外请求 GitHub 或 AWS,这类二进制依赖必须提前下好.node-gyp缓存并设NODE_GYP_FORCE_PYTHON=/path/to/python
VSCode 调试器提示 “Cannot find runtime 'node'”
这个错误和 launch.json 写得对不对无关,只说明 VSCode 根本没识别到系统级 node 路径。
- 检查 VSCode 设置里的
terminal.integrated.env.os是否被意外覆盖,离线环境尤其要确认没残留代理配置 - Windows 用户若用 PowerShell 作为默认终端,
$env:Path可能不继承系统 PATH,改回cmd:按Ctrl+Shift+P→ 输入Terminal: Select Default Profile→ 选Command Prompt - launch.json 中不要写死
"runtimeExecutable": "C:\offline\nodejs\node.exe",VSCode 会忽略它;正确做法是确保系统 PATH 生效后,直接用默认"type": "node" - 重启 VSCode —— 不是重启窗口,是彻底关闭所有 VSCode 进程再打开,否则旧 PATH 缓存不刷新
node_modules 复制后 npm start 仍报错“Cannot find module”
常见于从外网机器拷贝来的 node_modules,路径或 ABI 版本不匹配导致 require 失败。
- 复制前确认两台机器的
node -v完全一致(包括 patch 号,如v18.20.2≠v18.20.3),否则node-gyp编译的 native 模块无法加载 - 删掉
node_modules里的node_modules/.bin目录,它含绝对路径的 shell 脚本,离线复制后会失效 - 运行
npm rebuild强制重新编译所有 native 模块(如sqlite3、fsevents),这步不能跳过 - 如果项目用了
pnpm或yarn pnp,离线时直接复制node_modules无效,必须用对应包管理器重装
node -v、npm config get registry、which node(macOS/Linux)或 where node(Windows)的输出是否符合预期。










