无法将Next.js应用部署到Vercel,寻求解决办法
解决Next.js部署Vercel的npm依赖冲突问题
报错原因
你的项目存在peer依赖版本冲突:
@wagmi/core@2.6.3要求viem版本为2.x- 但项目当前安装的是
viem@1.19.13,同时@safe-global/safe-apps-sdk等依赖依赖viem@1.x,导致npm无法解析依赖树,最终npm install执行失败。
解决方案
方案1:升级依赖到兼容版本(推荐)
直接升级viem到2.x,同步升级wagmi相关依赖确保版本匹配:
- 本地执行命令:
npm install viem@2.x wagmi@latest @wagmi/core@latest @wagmi/connectors@latest - 本地运行项目,检查代码是否因viem 2.x的API变更出现报错,按需调整代码
- 提交更新后的
package.json和package-lock.json到代码仓库,重新触发Vercel部署
方案2:强制忽略peer依赖冲突(临时解决)
如果暂时无法升级依赖,可让npm忽略peer依赖冲突强制完成安装:
- 进入Vercel项目后台,打开Settings → Build & Development Settings
- 在Install Command选项中,将默认的
npm install修改为:npm install --legacy-peer-deps - 保存设置后,通过推送新代码或后台手动点击"Redeploy"重新触发部署
方案3:降级wagmi依赖适配现有viem版本
若升级viem会引发其他依赖兼容问题,可降级wagmi相关版本到支持viem@1.x的版本:
- 本地执行命令(版本号可参考wagmi官方文档调整):
npm install wagmi@2.4.0 @wagmi/core@2.5.0 @wagmi/connectors@4.1.0 viem@1.19.13 - 本地测试项目正常运行后,提交代码重新部署
注意事项
Vercel部署时默认会自动执行npm install,无需手动触发。部署失败的核心原因是依赖冲突,解决冲突后即可正常完成部署。
内容的提问来源于stack exchange,提问作者Victor
相关产品推荐
相关产品推荐

