先验证终端能否运行node -v:macos/linux执行which node,windows执行where node;若无输出,说明node.js未正确安装或path未配置;nvm用户需先执行nvm use再验证;sublime构建系统应使用绝对路径而非依赖shell继承path。

Ctrl+B 报 'node' is not recognized?先验证终端能不能用
这不是 Sublime 的问题,而是它压根没找到 node 命令。所有后续配置都建立在「终端里能跑 node -v」这个前提上。
- macOS/Linux:打开 Terminal,执行
which node;如果没输出,说明 Node.js 没装,或没加进 shell 配置(比如~/.zshrc) - Windows:打开 PowerShell 或 CMD,执行
where node;若提示“INFO: Could not find files”,说明安装时漏勾了 “Add to PATH”,或装的是 Microsoft Store 版本(不写系统变量) - nvm 用户注意:
nvm use 18.18.2必须在终端里先执行完,再验证node -v,否则which node可能指向旧版本或无效路径
构建系统必须写死 node 绝对路径,别信 "shell": true 能自动继承 PATH
GUI 启动的 Sublime(Dock/Spotlight/macOS Launchpad、开始菜单/Windows)几乎不加载你的 shell 初始化文件,"shell": true 在 macOS 上可能加载错配置,在 Windows 上反而卡住。最稳解法是绕过 PATH,直接用绝对路径。
ZenHeart zenlink 与 zenlink-mcp 为 OpenClaw,涵盖安装、MCP 注册、钩子接线、入站轮询及升级维护。
- macOS/Linux:用
which node输出结果,例如/opt/homebrew/bin/node或/usr/local/bin/node - Windows:用
where node输出,例如C:/Program Files/nodejs/node.exe(正斜杠安全,不用双反斜杠) -
"cmd"字段必须是数组:["/opt/homebrew/bin/node", "$file"],不能写成字符串"node $file" - 路径含空格也不用额外转义——只要用正斜杠或双反斜杠,JSON 解析就能通过
"working_dir": "$file_path" 不写就会 Cannot find module
Node.js 脚本里写 require('./utils') 或 fs.readFileSync('config.json'),默认从当前工作目录解析。Sublime 默认工作目录是启动时的路径,不是你 JS 文件所在目录。
- 漏掉这一行,
require()会报Cannot find module './xxx',fs.readFile报ENOENT -
"working_dir": "$file_path"让它等效于你在终端里cd /path/to/dir && node index.js - 别用
$file或.——前者是完整文件路径(含 .js),后者是 Sublime 启动目录,都不对
调试要靠 node --inspect-brk + Chrome DevTools,Sublime 本身不支持断点
Sublime 没有图形化调试器。想单步、看变量、设断点,得走 Node.js 官方 Inspector 协议,靠外部工具配合。
- 构建系统里写
"cmd": ["/path/to/node", "--inspect-brk", "$file"],启动时就挂起等待调试器连接 - 搭配
sublimerepl插件可把输出重定向到 Sublime 内置面板,但断点控制仍需打开chrome://inspect - VS Code 用户切过去调试更顺,但如果你坚持用 Sublime 写代码+Chrome 调试,这套流程完全可行——只是别指望在 Sublime 界面里点个红点就停住
node 命令在哪、工作目录在哪、以及你有没有意识到 Sublime 和终端根本不是同一个环境。









