Prettier在CI中格式检查不通过,本地却没问题? 秀花酱~ 提问于 2026-03-07 13:12:20 阅读 67 工具 我在本地跑 prettier --check . 没问题,但推到GitHub Actions里就报错说格式不对,这到底啥情况? 我用的是React项目,代码长这样: const Button = ({ label }) => { return <button className="btn">{label}</button>; }; export default Button; 明明本地保存时自动格式化了,CI却说这文件没按Prettier规则来,是不是版本不一致导致的? 我来解答 赞 11 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 2 条解答 培乐 Lv1 大概率是你的 prettier 配置文件没提交到仓库。 本地能过是因为你本地有 .prettierrc 或者在 package.json 里配了规则,但这些文件没 push 上去,CI 跑的时候用的是 prettier 默认配置,跟你本地不一样。 检查一下你的 git 状态: git status 看看有没有 .prettierrc、.prettierrc.js、.prettierrc.json 或者 package.json 里的 prettier 配置没提交。 解决方案很简单,把配置文件加进去: git add .prettierrc git add package.json git commit -m "add prettier config" git push 然后重新跑 CI 试试。 如果还想确认是不是版本问题,可以在 CI 的 workflow 里加一行输出 prettier 版本: - run: npx prettier --version 这样能看清 CI 用的是哪个版本。本地也跑一下对比一下: npx prettier --version 十有八九是配置文件的问题,版本不一致反而没那么常见。 回复 点赞 2026-03-19 23:03 司徒柯欣 Lv1 哈,这种问题我在WP里面也遇到过几次。99%的概率是CI环境和本地环境用的Prettier版本不一致。 先确认下你本地的Prettier版本: npx prettier --version 然后在GitHub Actions的日志里找到它用的版本号对比下。如果不一样,解决办法很简单: 1. 在package.json里固定版本,比如: "devDependencies": { "prettier": "2.8.8" } 2. CI里跑命令前先装依赖: npm install npx prettier --check . 还有个常见坑是.editorconfig或.prettierrc配置没提交到git,导致CI环境没有你的格式化规则。检查下这些文件是不是都在仓库里。 如果还不行,在CI脚本里加个调试命令看看实际运行的规则: npx prettier --debug-check . 这破事浪费过我一下午时间,后来学乖了,团队项目必须锁死格式化工具版本... 回复 点赞 2026-03-07 14:01 加载更多 相关推荐 1 回答 74 浏览 Prettier 的 bracketSpacing 设置为啥没生效? 我在 Vue 项目里配置了 Prettier 的 bracketSpacing: false,但对象字面量里的花括号还是有空格,根本没变化,是我配错了吗? 已经试过重启编辑器、删 node_modul... 设计师雨辰 工具 2026-03-19 21:16:16 2 回答 102 浏览 Prettier在CI中运行报错:找不到配置文件,但本地正常? 我在GitHub Actions里用Prettier检查代码格式时,总是报错“Error: Unable to find .prettierrc in the working directory”,但... 志煜酱~ 工具 2026-02-03 20:24:48 2 回答 75 浏览 Prettier 为什么没格式化我的 HTML 标签换行? 我用 Prettier 格式化 HTML 文件,但发现它没把长标签自动换行,看起来特别挤。明明在 .prettierrc 里设置了 printWidth: 80,为啥不起作用? 比如下面这段代码,Pr... Code°采涵 工具 2026-03-13 15:41:20 1 回答 64 浏览 Prettier 格式化 CSS 时为什么把我的嵌套规则搞乱了? 我最近在项目里配置了 Prettier,但发现它格式化 CSS 的时候,会把我在 SCSS 里写的嵌套规则直接打平,导致样式失效。明明 .prettierrc 里也没改什么特殊配置,就是默认设置。这到... ლ郭云 前端 2026-03-11 15:37:19 1 回答 105 浏览 Capacitor 打包 Android 后无法访问本地 API 接口怎么办? 我用 Capacitor 把 Vue 项目打包成 Android 应用,本地开发时接口都正常,但装到手机上后所有 fetch('/api/xxx') 请求都失败了,控制台报网络错误。 试过在 capa... 欧阳爱丹 框架 2026-03-09 14:33:24 1 回答 47 浏览 Capacitor 打包后白屏,本地调试却正常? 我用 Capacitor + Vue3 开发了一个 App,本地运行 npm run dev 一切正常,但执行 cap build android 后安装到手机就一直白屏。 试过检查网络权限、确认服务... 西门柯汝 框架 2026-03-09 03:36:23 1 回答 61 浏览 Prettier 格式化时该选哪个 Parser? 我在用 Prettier 格式化一个 .vue 文件,但控制台提示“Parser not found”。我试过在配置里指定 parser 为 vue,但好像不对?官方文档说会自动识别,可我的项目就是不... 设计师爱娜 工具 2026-03-08 13:16:19 1 回答 51 浏览 Prettier 格式化 Vue 模板时为什么缩进不对? 我用 Prettier 格式化 Vue 文件,但模板部分的缩进总是乱的,明明配置了 tabWidth 为 2,可它还是用 4 个空格。试过重启编辑器、重装插件都没用。 这是我的组件代码: <te... 闲人志利 前端 2026-03-04 12:13:18 2 回答 46 浏览 Capacitor 打包后 HTML 里的本地图片为啥加载不出来? 我在用 Capacitor 打包一个 Vue 项目到 Android,本地图片在浏览器里能正常显示,但打包成 App 后就变成空白了。试过把图片放 public 目录和 assets 里都不行,路径应... 恒菽 框架 2026-03-01 04:57:19 2 回答 47 浏览 ESLint 和 Prettier 配合时为什么格式化冲突? 我按照网上的教程配了 ESLint + Prettier,但保存文件时格式老是打架。比如 Prettier 想加个分号,ESLint 却报错说不能加分号,明明 .eslintrc 里已经关了这个规则。... Newb.一涵 工具 2026-02-28 13:00:20
本地能过是因为你本地有 .prettierrc 或者在 package.json 里配了规则,但这些文件没 push 上去,CI 跑的时候用的是 prettier 默认配置,跟你本地不一样。
检查一下你的 git 状态:
git status
看看有没有 .prettierrc、.prettierrc.js、.prettierrc.json 或者 package.json 里的 prettier 配置没提交。
解决方案很简单,把配置文件加进去:
git add .prettierrc
git add package.json
git commit -m "add prettier config"
git push
然后重新跑 CI 试试。
如果还想确认是不是版本问题,可以在 CI 的 workflow 里加一行输出 prettier 版本:
- run: npx prettier --version
这样能看清 CI 用的是哪个版本。本地也跑一下对比一下:
npx prettier --version
十有八九是配置文件的问题,版本不一致反而没那么常见。
先确认下你本地的Prettier版本:
然后在GitHub Actions的日志里找到它用的版本号对比下。如果不一样,解决办法很简单:
1. 在package.json里固定版本,比如:
2. CI里跑命令前先装依赖:
还有个常见坑是.editorconfig或.prettierrc配置没提交到git,导致CI环境没有你的格式化规则。检查下这些文件是不是都在仓库里。
如果还不行,在CI脚本里加个调试命令看看实际运行的规则:
这破事浪费过我一下午时间,后来学乖了,团队项目必须锁死格式化工具版本...