
al-folio 提交代码后 Prettier 格式检查工作流失败怎么处理【免费下载链接】al-folioA beautiful, simple, clean, and responsive Jekyll theme for academics项目地址: https://gitcode.com/GitHub_Trending/al/al-folio使用 al-folio一个面向学术个人主页的 Jekyll 主题时你本地的站点构建和预览一切正常但创建 commit 提交或发起 PR 后GitHub Actions 里的 Prettier 格式检查失败报错形如prettier code formatter workflow run failed for main branch。这类失败和你的代码逻辑无关而是提交的代码没有通过 Prettier 格式化检查。本文按“看失败 diff → 本地修复 → 本地验证 → 重新提交”的顺序说明如何处理并在自己的仓库中关闭这项检查。为什么工作流会失败自 PR #2048 起al-folio 使用 Prettier 对仓库代码做格式约束所有新提交的代码必须符合其规范见 docs/CONTRIBUTING.md。检查由 Prettier code formatter 工作流 执行它在向master/main分支的push和pull_request事件上触发在 ubuntu-latest 上安装prettier和shopify/prettier-plugin-liquid后执行npx prettier . --check对整个仓库做格式检查。检查使用的规则来自仓库根目录的 .prettierrcplugins: [shopify/prettier-plugin-liquid] printWidth: 150 trailingComma: es5即启用了 Shopify 的 Liquid 模板插件al-folio 大量使用 Liquid 模板行宽 150。.prettierignore 列出的文件不参与检查例如**/*.min.js、**/*.min.css、lighthouse_results/**、_data/citations.yml等。所以只要推送的文件包括.md、Liquid 模板、.yml等与这套配置不一致--check就会失败而本地“能跑”并不等于“格式合规”。先看失败 diff确认需要改哪里检查失败后工作流会自动生成一份 diff不需要猜哪里有问题失败时先运行npx prettier . --write把仓库文件按配置改写用git diff -- . :(exclude)package-lock.json :(exclude)package.json生成diff.txt用diff2html-cli生成diff.html并上传为名为HTML Diff的 artifact保留 7 天retention-days: 7如果触发事件是pull_request工作流还会派发prettier-failed-on-pr事件由 prettier-comment-on-pr.yml 在 PR 上自动评论附带指向失败 run 和 diff 文件的链接。操作路径打开失败的 Prettier action run下载HTML Diffartifact或直接在 PR 里看自动评论diff 中列出的就是需要修改的具体位置。注意 artifact 只保留 7 天过期后需要在本地重新跑一遍下面的修复流程。本地修复格式docs/FAQ.md 给出了三条路径按需选择手动运行 Prettier最直接的修复方式如果本机没有 Docker 环境先安装 Nodelatest versionFAQ 建议通过 nvm 安装 Node 管理器和 Node。然后在项目目录内安装 Prettiernpm install prettier或者全局安装npm install -g prettier安装后对当前目录执行格式修复--write会直接改写不符合格式的文件npx prettier . --write仓库 package.json 的 devDependencies 中锁定的版本是prettier: ^3.8.0和shopify/prettier-plugin-liquid: ^1.10.0。工作流本身安装的是prettier与shopify/prettier-plugin-liquid的最新版本如果想让本地环境与仓库的依赖集合一致用npm ci按package-lock.json安装后再检查见下文验证一节。Docker 开发容器如果你按 docs/INSTALL.md 中 Local setup with development containers 一节使用 Docker 开发容器本地运行开发容器内已经自带 Prettier直接执行npx prettier . --write即可无需额外安装。IDE 集成如果你不使用 Docker也可以把 Prettier 集成到你常用的 IDE通过 Prettier 编辑器扩展让编辑时自动保持格式合规。FAQ 只说明了这条路径的存在具体扩展按你所用 IDE 选择。提交前验证按 docs/CONTRIBUTING.md 的 Local Validation 一节在项目根目录执行npm ci npm run lint:prettier其中npm ci会按package-lock.json安装包括 Prettier 和 Liquid 插件在内的全部 devDependencieslint:prettier在 package.json 中定义为prettier . --check与工作流执行的检查命令一致。本地检查不再报格式问题后把修复提交推送回分支工作流会重新触发观察 Prettier Check 这一步通过即表示该问题已解决。不想启用这项检查时如果你维护的是基于 al-folio 的站点仓库而非主题本身FAQ 提供了关闭方式删除你仓库中的.github/workflows/prettier.yml文件。副作用是从此以后该仓库的 push / PR 不再执行 Prettier 格式检查团队内代码格式将不再有 CI 约束请自行评估。另外注意一个常见混淆仓库里还有一个Prettify gh-pages工作流prettier-html.yml它只在手动workflow_dispatch时运行、只格式化gh-pages分支的 HTML 文件与 push 后自动触发的检查失败无关不要把它当作失败来源去排查。【免费下载链接】al-folioA beautiful, simple, clean, and responsive Jekyll theme for academics项目地址: https://gitcode.com/GitHub_Trending/al/al-folio创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考