You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

yarn部署Next.js项目时出现prettier/prettier报错如何解决

问题根因

报错是Prettier格式校验不通过导致的构建失败,和业务代码逻辑无关,间隔5分钟突然触发大概率是三类原因:

  • 编辑./components/layout/Header.tsx时,编辑器自动格式化用了全局Prettier规则,和项目本地规则不匹配,误改了66-67行的缩进、换行
  • 依赖锁文件异常,安装了和上次部署不同小版本的Prettier/ESLint插件,默认校验规则出现差异
  • 配置冲突:你贴的配置里,.eslintrc.js和另一处JSON配置都重复定义了prettier/prettier校验规则,多份规则优先级混乱导致校验异常
修复步骤
  1. 优先自动修复格式问题,直接在项目根目录执行:
    npx prettier --write ./components/layout/Header.tsx
    
    跑完直接重新执行yarn deploy,绝大多数情况这一步就能解决,本质就是把不符合规则的缩进、换行自动改成符合要求的格式。
  2. 如果自动修复后还是报同样的错,先清理重复配置:
    • 删掉JSON配置片段里重复写的prettier/prettier规则块,全项目只保留.eslintrc.js里的一份Prettier规则配置即可,重复定义会出现规则覆盖、校验逻辑异常的问题
    • 检查项目根目录有没有多余的.prettierrc、.prettierrc.js、.editorconfig配置文件,如果有要确保缩进(默认2空格)、单行长度、行尾换行规则和eslint中配置的Prettier规则一致,避免多份格式规则冲突
  3. 以上两步都不行就重装依赖锁版本:
    rm -rf node_modules yarn.lock
    yarn install
    
    重装完成后再执行一次第一步的Prettier自动修复命令,再部署即可。
紧急部署临时方案

如果赶上线需要快速绕过校验,可以临时在next.config.js里关闭构建阶段的ESLint校验,上线后再改回配置修复格式问题:

module.exports = {
  eslint: {
    ignoreDuringBuilds: true,
  },
  // 保留原有其他配置
}

注:构建日志里的target配置废弃警告和本次构建失败无关,后续升级Next.js版本时删掉对应配置即可,不影响当前部署。

内容的提问来源于stack exchange,提问作者user16394758

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 20:39:22