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

部署Next.js 13应用至Vercel时遭遇依赖冲突错误如何解决?

解决Next.js 13部署Vercel时的ERESOLVE依赖冲突错误

错误原因分析

从部署日志可以明确看到冲突核心:

  • 项目根依赖安装的是 eslint@8.44.0
  • 同时依赖的 eslint-config-next@12.0.4 要求peer依赖为 eslint@^7.23.0,两者版本不兼容,导致Vercel执行npm install时触发ERESOLVE错误。

本地构建正常是因为你的本地npm环境可能默认启用了宽松的peer依赖解析(比如使用了--legacy-peer-deps参数,或npm版本默认配置),但Vercel的构建环境默认严格检查peer依赖,因此暴露了冲突。

解决方案

方案1:升级eslint-config-next匹配Next.js 13版本(推荐)

由于你使用的是Next.js 13,eslint-config-next版本必须和Next.js主版本保持一致才能兼容:

npm install eslint-config-next@13 --save-dev

如果你的项目里Next.js是具体的子版本(比如13.4.12),建议安装对应版本的eslint-config-next:

npm install eslint-config-next@13.4.12 --save-dev

安装完成后,删除node_modules和package-lock.json,重新执行npm install,再推送代码到Vercel重新部署。

方案2:修改Vercel的安装命令跳过peer依赖检查

如果你暂时不想调整依赖版本,可以在Vercel项目中修改构建命令:

  1. 进入Vercel项目的「Settings」页面
  2. 找到「Build & Development Settings」区域
  3. 将「Install Command」修改为:
npm install --legacy-peer-deps

此方法会强制npm忽略peer依赖冲突,但可能带来潜在的兼容性问题,仅作为临时解决方案。

方案3:降级eslint到兼容版本

如果你不想升级eslint-config-next,可以将eslint降级到eslint-config-next@12.0.4要求的兼容版本:

npm install eslint@7.32.0 --save-dev

同样需要删除node_modules和package-lock.json后重新安装依赖,再推送部署。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 10:43:16