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

Next.js应用部署Vercel失败:npm run build报错1求助

Next.js部署Vercel时npm run build因ESLint规则报错退出的解决方案

跟着JavaScript Mastery的Next.js教程开发项目,部署到Vercel时触发Command "npm run build" exited with 1错误,核心原因是代码违反多项ESLint规则,具体报错包括JSX单引号使用、缩进错误、行尾空格、文件末尾缺换行、大括号空格、缺少分号、空组件未自闭合、循环依赖等。修改package.json和next.config.js后问题未解决。

方案一:逐个修复ESLint错误(推荐)

先在本地执行npm run lint,会列出所有违规项,按规则逐一修正:

  • jsx-quotes:JSX属性统一使用双引号,例如将<div className='box'>改为<div className="box">
  • react/jsx-indent:JSX嵌套元素统一使用4空格缩进,检查组件内的层级缩进是否符合要求
  • no-trailing-spaces:删除所有行尾的多余空格
  • eol-last:给每个文件末尾添加一个空行
  • object-curly-spacing:大括号前后添加空格,例如将import {useState} from 'react'改为import { useState } from 'react'
  • semi:所有语句末尾添加分号
  • react/self-closing-comp:空组件使用自闭合语法,例如将<div></div>改为<div />
  • quotes:普通JavaScript字符串统一使用单引号(与JSX属性的双引号区分)
  • import/no-cycle:解决组件循环导入问题,比如A导入B、B又导入A的情况,可将共用逻辑抽离为独立文件,调整导入结构

修复完成后,本地执行npm run build确认无错误,再重新部署到Vercel。

方案二:临时禁用违规ESLint规则(快速应急)

如果暂时不想逐个修复,可通过配置文件禁用相关规则:

  1. 在项目根目录创建或修改.eslintrc.json:
{
  "extends": "next/core-web-vitals",
  "rules": {
    "jsx-quotes": "off",
    "react/jsx-indent": "off",
    "no-trailing-spaces": "off",
    "eol-last": "off",
    "object-curly-spacing": "off",
    "semi": "off",
    "react/self-closing-comp": "off",
    "quotes": "off",
    "import/no-cycle": "off"
  }
}
  1. 或者直接让build命令跳过ESLint检查,修改package.json中的build脚本:
"scripts": {
  "dev": "next dev",
  "build": "next build --no-lint",
  "start": "next start",
  "lint": "next lint"
}

注意:此方法仅作为临时应急方案,长期来看建议遵循ESLint规则规范代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 14:54:54