执行git push heroku main时出现ERESOLVE错误求助
解决Heroku部署时的ERESOLVE依赖冲突问题
锁定Node.js与npm版本
在项目根目录的package.json中添加engines字段,指定和本地一致的Node、npm版本,避免Heroku环境版本差异引发冲突:"engines": { "node": "18.x", "npm": "9.x" }版本号可通过本地执行
node -v、npm -v获取。启用npm旧版依赖解析规则
给Heroku构建命令添加--legacy-peer-deps参数,忽略peer依赖冲突:- 方式一:修改
package.json的scripts字段:"scripts": { "heroku-postbuild": "npm install --legacy-peer-deps" } - 方式二:直接配置Heroku环境变量:
heroku config:set NPM_CONFIG_LEGACY_PEER_DEPS=true
- 方式一:修改
手动修复具体依赖冲突
执行npm ls查看冲突的依赖链,找到冲突包后,在package.json中通过overrides强制指定兼容版本:"overrides": { "冲突包名称": "兼容版本号" }清理Heroku缓存
清除Heroku缓存的旧依赖文件,再重新推送:heroku builds:cache:purge
内容的提问来源于stack exchange,提问作者Camilla
相关产品推荐
相关产品推荐

