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

如何让Next.js在终端显示所有构建错误而非遇首个错误即退出?

解决Next.js构建仅显示首个错误的问题

针对你遇到的构建流程在首个错误后立即退出的问题,可尝试以下几种方案:

1. 禁用Turbopack构建

你当前dev命令使用了--turbopack,但Turbopack的构建 worker 目前对--no-exit-on-errors和--show-all-errors参数的支持并不完善,容易出现错误后直接退出的情况。修改build命令,添加--no-turbopack切换回传统Webpack构建:

"scripts": {
  "dev": "next dev --turbopack",
  "build": "next build --no-turbopack --no-exit-on-errors --show-all-errors 2>&1 | tee build.log",
  "start": "next start",
  "lint": "next lint"
}

2. 升级Next.js到稳定版本

部分旧版本的Next.js对错误收集的参数支持存在bug,建议升级到最新稳定版(v13.4+及以上):

npm install next@latest
# 或使用yarn
yarn add next@latest

3. 分开收集类型、Lint和编译错误

如果你的项目包含TypeScript或ESLint错误,可通过以下方式一次性获取所有错误:

  • 类型错误:在tsconfig.json中确保noEmit设为true,然后单独执行:
tsc --noEmit
  • Lint错误:修改lint命令输出所有错误到日志:
"scripts": {
  "lint:full": "next lint --output-file lint-errors.log --format compact"
}

执行npm run lint:full即可查看所有Lint问题。

  • 编译错误:临时在next.config.js中忽略类型和Lint错误,专注收集编译问题:
/** @type {import('next').NextConfig} */
const nextConfig = {
  typescript: {
    ignoreBuildErrors: true,
  },
  eslint: {
    ignoreDuringBuilds: true,
  },
}

module.exports = nextConfig

之后执行npm run build就能收集所有编译错误,处理完后记得恢复配置。

4. 检查构建日志

你当前的build命令已经用tee输出日志到build.log,如果终端只显示部分错误,可直接查看日志文件,部分情况下日志会包含更多错误信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 23:28:22