sublime text 构建系统找不到 coffee 命令是因为不继承终端 path,需手动配置绝对路径:windows 用 coffee.cmd 和双反斜杠路径,macos/linux 用 coffee 及冒号分隔的 bin 路径,并确保语法设为 coffeescript、缩进为 2 空格且禁用自动检测。

Sublime Text 构建系统找不到 coffee 命令?先确认它真正在系统里
Sublime 不继承你终端的 PATH,即使 coffee --version 在命令行能跑,构建系统仍可能报 Unable to find command "coffee"。这不是插件问题,而是环境隔离导致的。
- Windows:打开 CMD,运行
where coffee,典型路径是C:UsersXXXAppDataRoaming pmcoffee.cmd - macOS/Linux:终端执行
which coffee,常见路径如/usr/local/bin/coffee或/opt/homebrew/bin/coffee - 在 Sublime 内置控制台(
Ctrl+`)中运行import os; print(os.environ.get('PATH')),确认输出里包含上述路径 - 没找到?说明
npm install -g coffeescript没成功,或全局 bin 路径没加进系统环境变量(Windows 尤其容易漏这步)
手动写 CoffeeScript.sublime-build 文件时,cmd 和 path 怎么填才不踩坑
别依赖自动 PATH 查找,直接硬编码路径最稳。不同系统写法差异大,错一个字符就静默失败。
- Windows 用户必须用
"cmd": ["coffee.cmd", "-c", "$file"],不能写coffee—— 因为 npm 安装后生成的是.cmd扩展名可执行文件 -
path字段填绝对路径,例如"path": "C:\Users\XXX\AppData\Roaming\npm"(注意双反斜杠) - macOS/Linux 用
"cmd": ["coffee", "-c", "$file"],path填多个 bin 目录用冒号分隔:"path": "/usr/local/bin:/opt/homebrew/bin" - 加
"file_regex": "^([^:]+):([0-9]+):([0-9]+):(.*)$",能让编译错误跳转到对应行
为什么保存后没自动编译?两个开关必须同时打开
Sublime 默认不自动编译,所谓“保存即编译”是人工配置的结果,缺一不可。
- 当前文件语法必须是
CoffeeScript(右下角状态栏显示,不是Plain Text) - 菜单
Tools → Build System必须手动选中你刚建的CoffeeScript构建系统(不能选Automatic) - 启用保存触发:安装插件
SublimeOnSaveBuild,或在构建系统 JSON 中加"target": "save_build"(仅部分版本支持) - 注意:Sublime 的构建系统本质是单次执行,
-cw(watch)参数无法长期驻留,真要监听推荐另开终端跑coffee -cw src/
CoffeeScript 语法高亮失效?三件事漏做一件就变 Plain Text
高亮失效不是插件坏了,而是底层解析器拒绝工作——它对缩进和语法绑定极其苛刻。
- 必须装
Language CoffeeScript(作者 jashkenas),不是CoffeeScript或SublimeCoffeeScript(旧包已弃用) - 装完后打开
.coffee文件,点击右下角Plain Text→Open all with current extension as…→ 选CoffeeScript - 缩进必须是纯空格、宽度为 2:菜单
View → Indentation → Convert Indentation to Spaces,再设Tab Width: 2 - 在用户设置里加
"detect_indentation": false,否则粘贴代码或换行时 Sublime 自动重探缩进,一动就掉回Plain Text
coffee 命令路径不对、构建系统没选对、语法没手动绑定、缩进混用空格和 Tab —— 任意一个出问题,整个流程就卡在“看起来像没装一样”。尤其新建文件后,右下角语法会重置,每次都要点一下,这个细节几乎没人提醒,但每天都会撞上。前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











