sublime text 中 npm run dev 报“command not found”是因未加载 shell 环境变量,需在构建配置中添加 "shell": true 并设 "working_dir": "${project_path:${folder}}",且用数组形式 "cmd": ["npm", "run", "dev"] 以支持 ctrl+c 终止。

Sublime Text 本身不解析 package.json,所谓“集成 npm 开发任务”,本质是把 npm 命令包装成 Build System——配错 working_dir 或漏掉 "shell": true,就会报 command not found 或 Error: Cannot find module 'xxx'。
npm run dev 报错 “command not found” 怎么修
这不是 npm 没装,而是 Sublime 启动时没加载你的 shell 环境变量(尤其 macOS/Linux GUI 启动的 Sublime 读不到 ~/.zshrc)。
-
"shell": true必须加在构建配置里,否则 Sublime 不走 shell,PATH 就是空的 - Windows 上如果
node -v在 CMD 能跑但 Sublime 不行,说明 Node.js 安装时没勾选 “Add to PATH”,得重装或手动加系统环境变量 - 别用
"shell_cmd": "npm run dev"—— 这种写法无法响应Ctrl+C终止服务,必须用数组形式:"cmd": ["npm", "run", "dev"]
为什么 require('./config.json') 找不到文件
因为默认工作目录是 Sublime 的安装路径,不是你项目根目录。Node.js 的相对路径全乱了。
使用一条命令部署ProbeChain Rydberg测试网代理节点。自动注册为Agent(NodeType=1),免gas,支持macOS/Linux/Windows。触发词:/r
-
"working_dir": "${project_path:${folder}}"是项目级脚本(如npm run build)的正确写法,确保package.json能被读到 -
"working_dir": "$file_path"是单文件运行(node index.js)的写法,让require('./xxx')从当前 JS 文件所在目录开始找 - 两个不能混用:用
npm run却设$file_path,会找不到package.json;反过来用node $file却设${project_path},可能读错./下的模块
怎么给不同 npm script 配快捷键
Sublime 不支持一键绑定多个命令,但可以靠多构建文件 + Ctrl+Shift+B 快速切换。
- 为每个脚本建独立文件:比如
NpmStart.sublime-build内容是"cmd": ["npm", "run", "start"] - 保存后,在菜单
Tools → Build System下就能看到所有名字,选中即生效 - 想更省事?在项目设置里加
build_systems数组,这样打开该项目自动列出可用脚本,不用手动切 - 注意:这些构建系统都只是触发命令,不管理进程——
npm run dev启的服务关不掉,得回终端Ctrl+C
最常被忽略的是:Sublime 的构建输出面板不支持 stdin 输入,任何依赖 process.stdin 的脚本(比如带交互的 CLI 工具)都会卡住或直接退出。真要调试这类东西,别在 Build 面板里硬扛,直接切终端。










