发布于2026-07-04 阅读(0)
扫一扫,手机访问
写前端的时候,用 Sublime Text 配合 Sass/Less 自动编译,本来是件挺顺手的事。但偏偏在保存文件那一刻,弹出来一个 “command not found” 报错,瞬间就让人头疼了。别急,这个问题其实很常见,而且原因非常集中——不是插件不行,也不是系统没装,纯粹是 Sublime 启动时摸不到你终端里的环境变量。下面咱们把几个最典型的坑一一拆开,你按顺序排查,基本都能搞定。
sass 命令在终端能跑,Sublime 却报 “command not found”Sublime 启动的时候完全不会继承你 shell 里那套 PATH,尤其是在 macOS/Linux 图形界面下,或者 Windows 上用 nvm 切换过 Node 版本后,终端里明明用 npm install -g sass 装好了可执行文件,但 Sublime 根本看不到它。这不是插件的 bug,是环境隔离造成的路径盲区,必须手动告诉 Sublime 去哪儿找命令。
解决办法很直接:
which sass,拿到形如 /opt/homebrew/bin/sass 或 /usr/local/bin/sass 的完整路径where sass,常见结果是 C:\Users\Alice\AppData\Roaming\npm\sass.cmd"sass_path": "/opt/homebrew/bin/sass"——只填路径,不带参数,不加空格,不要写花哨的东西sass_path 配对错误或用了已停更的 node-sass到了 2026 年,如果还在用 node-sass,那就是主动给自己埋雷。这个包早在 2021 年就停止维护了,不支持 @use、@forward 这类现代语法,和新版 Node.js 的兼容性也差得离谱。如果你遇到 Cannot find module 'node-sass' 或者 Module version mismatch,十有八九就是它在捣鬼。
立刻切换到 Dart Sass,一步到位:
npm uninstall -g node-sassnpm install -g sasssass --version 输出类似 1.77.6 才对sass_path 设置——注意不是 node-sass 的路径_variables.scss,保存主文件却没更新 CSS这个问题跟路径没关系,而是监听逻辑的限界:Sublime 的插件默认只编译当前激活 tab 里的文件,不会自动追踪 @use 或 @import 引入的依赖文件。你改了一个 _variables.scss,但没切回 main.scss 再保存一次,就不会触发重编译。
想要依赖变更时自动更新,最靠谱的办法是绕过插件,用 CLI 的 watch 模式:
sass --watch src/scss:dist/css@use 引入的文件,一个都不漏output_dir 和 include_paths 配置对这个命令无效,别混着用sass.cmd 路径填对了还是报错Windows 上有几个隐藏很深的陷阱:路径里带着空格或中文,或者 sass.cmd 本身是个批处理脚本,Sublime 在非 shell 模式下根本没法执行它。
最稳妥的做法:
sass.cmd 所在的目录已经加进了系统的环境变量 PATH(不只是用户变量)"shell": true.sublime-build,确保 "path" 字段包含那个 bin 目录,比如 "path": "C:\\Users\\Alice\\AppData\\Roaming\\npm"还有一点很容易被忽略:改完 sass_path 设置之后,Sublime 必须重启才能读进去。不重启就相当于没改。另外 watch 模式虽然可靠,但它和插件的自动编译不能同时开着,否则可能重复写入甚至冲突覆盖,选一个用就好。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8