stylelint命令报“command not found”因全局安装未生效或本地安装后node_modules/.bin未加入path;推荐本地安装并配置package.json脚本,确保ci与本地环境一致。

Stylelint安装后为什么stylelint命令报“command not found”
全局安装没生效,或本地安装后没配好执行路径。团队更推荐项目级本地安装,避免环境差异。
- 用
npm install --save-dev stylelint装到项目里,而不是npm install -g stylelint - 脚本写进
package.json的"scripts":比如"lint:css": "stylelint \"src/**/*.css\"",然后运行npm run lint:css - 确保
node_modules/.bin在 shell 的$PATH中(尤其在 CI 或某些终端里容易漏)
配置文件.stylelintrc该选JSON、YAML还是JS格式
JS 格式最灵活,能动态引入规则、条件启用插件,也方便复用团队内部 preset;JSON 最简单但不支持注释和变量;YAML 介于两者之间但缩进敏感易出错。
- 直接用
.stylelintrc.js,导出一个对象即可,例如:module.exports = { extends: ["stylelint-config-standard"], rules: { "no-empty-source": null, "color-hex-case": "lower" } }; - 别用
.stylelintrc(无后缀),它会按优先级依次找多种格式,容易误读 - 如果用了 PostCSS 插件(如
stylelint-scss),必须在plugins数组里显式声明,否则规则不生效
如何让Stylelint自动修复color-hex-case这类可修正的规则
不是所有规则都支持自动修复,只有明确标为 “autofixable” 的才行,比如 color-hex-case、declaration-block-trailing-semicolon,但 selector-max-id 就不行。
- 加
--fix参数:运行npx stylelint \"src/**/*.css\" --fix - 只对支持 autofix 的规则起作用,其他规则仍只报错;建议先跑一遍不带
--fix的检查,确认问题范围 - VS Code 用户装
stylelint.vscode-stylelint插件后,保存时自动 fix,但要关掉编辑器自带的 CSS 格式化(否则冲突)
CI里跑Stylelint失败却本地正常,常见原因是什么
路径匹配、Node 版本、插件版本、配置加载顺序三者最容易不一致。
立即学习“前端免费学习笔记(深入)”;
-
stylelint默认只处理.css文件,如果项目用.scss或.less,必须装对应插件并显式配置customSyntax(如"customSyntax": "postcss-scss") - CI 环境 Node 版本低,可能不兼容新版 Stylelint(v16+ 要求 Node ≥18.12)
- 配置文件位置不对:Stylelint 从当前工作目录向上查找
.stylelintrc.*,CI 脚本若 cd 到子目录再执行,就可能漏掉配置










