sublime中npm run报“command not found”需设"shell": true并用数组格式"cmd": ["npm", "run", "dev"],避免用shell_cmd;ctrl+c无效因未用数组导致信号无法透传。

Sublime 里 npm run 报 command not found 怎么办
这不是 npm 没装,而是 Sublime 启动时没加载 shell 的 PATH。GUI 方式(Dock / 开始菜单)启动的 Sublime 不读 ~/.zshrc 或 PATH 系统变量,node、npx 全部失效。
解决方式只有两个关键点:
-
"shell": true必须写进.sublime-build配置,否则不走 shell,PATH 就是空的 - Windows 上若
node -v在 CMD 能跑但 Sublime 不行,说明安装 Node.js 时没勾选 “Add to PATH”,得重装或手动加系统环境变量 - macOS/Linux 用户可显式指定
node路径,比如"cmd": ["/opt/homebrew/bin/node", "npm", "run", "dev"],绕过 shell 加载问题
为什么 npm run dev 启动后 Ctrl+C 无效
用 "shell_cmd": "npm run dev" 这种字符串写法,Sublime 会把整条命令丢给 shell 执行,但进程控制权就交出去了——Ctrl+C 发不到子进程,服务停不掉。
必须改用数组形式:
-
"cmd": ["npm", "run", "dev"]—— Sublime 能接管 stdin/stdout,Ctrl+C 才真正终止服务 - 别加
&或后台符号,"cmd": ["npm", "run", "dev", "&"]是错的,Sublime 不支持这种 shell 语法 - watch 类长时任务(如
webpack --watch)不适合 Build System,应交给终端插件单独管理
Terminus 插件怎么绑定到项目根目录自动激活
装好 Terminus 后,默认打开的是用户 home 目录,不是你当前项目。要让它一开就在 package.json 所在位置,得改配置。
打开 Preferences → Package Settings → Terminus → Settings – User,填入:
PigX UI Pro 前端开发指南 - Vue 3 + TypeScript + Element Plus。当用户提到 PigX UI、PigX 前端、lgb-mgui 项目、Vue 3 企业级后台开发、Element Plus 后台开发时使用此技能。
{
"default_config": {
"windows": "PowerShell",
"linux": "bash",
"osx": "zsh"
},
"configurations": [
{
"name": "Project Root Terminal",
"cmd": ["zsh", "-i", "-c", "cd '${project_path}' && exec zsh"],
"working_dir": "${project_path}"
}
]
}
然后设快捷键(比如 Ctrl+Alt+T)绑定到这个配置,就能一键进项目根并自动激活 node_modules/.bin 和虚拟环境。
注意:${project_path} 只在有打开文件夹/项目时才有效;单文件打开时为空,会 fallback 到 home。
构建系统和终端插件该用哪个执行 npm script
一句话:一次性命令(build、test、lint)用 Build System;带交互、需持续运行、要复用历史命令的(dev、start、storybook)一律用 Terminus。
原因很实际:
- Build System 输出面板不支持
process.stdin—— 任何需要键盘输入的脚本(比如create-react-app初始化、npm init)都会卡住或直接退出 - Terminus 支持多标签、命令历史、
↑补全、管道和变量,npm run build && npm run deploy这种链式操作才自然 - Build System 的
working_dir是静态的,而 Terminus 可以在终端里随时cd切换,更贴合真实工作流
最常被忽略的一点:Sublime 的构建系统本质是“执行-输出-结束”,它不模拟终端上下文。想调试 webpack alias、ESLint 配置或环境变量生效情况,别硬扛在 Build 面板里看报错,直接切 Terminus,echo $NODE_ENV 一眼见分晓。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










