Mac端克隆Git仓库Vue项目执行npm install报ERESOLVE依赖冲突如何解决
Mac环境Vue项目npm install报ERESOLVE依赖冲突解决方法
问题原因
npm 7.0以上版本默认会严格校验依赖包的peerDependencies版本要求,该项目存在明确的版本要求冲突:
- 项目本身声明要安装的开发依赖是
eslint-plugin-vue@^8.0.3 - 项目依赖的
@vue/eslint-config-standard@6.1.0,要求必须搭配eslint-plugin-vue@^7.0.0才能正常运行
版本要求不匹配,npm会直接终止安装流程抛出错误。
解决方法
按推荐优先级选择对应方案即可:
对齐依赖版本(最稳妥,无兼容问题,首推)
两种调整方式二选一:- 把
@vue/eslint-config-standard升级到支持eslint-plugin-vue 8.x的版本,执行下面的命令,之后重新运行npm install即可正常安装:npm install @vue/eslint-config-standard@^7.0.0 --save-dev - 如果不想改动现有eslint配置的版本,就把
eslint-plugin-vue降到7.x的适配版本,执行下面命令后重新安装依赖:npm install eslint-plugin-vue@^7.20.0 --save-dev
- 把
跳过依赖校验(临时快速方案)
赶进度不想调整依赖版本的话,可以让npm沿用v6版本的宽松规则解析依赖,跳过peer依赖的严格校验,直接执行:npm install --legacy-peer-deps注意:这个方法只是绕开了校验逻辑,没有真正解决版本冲突,极少数场景下可能出现eslint规则运行异常、校验报错不符合预期的问题,优先选择前面对齐版本的方案。
强制安装(极度不推荐)
带--force参数执行npm install --force会强制覆盖冲突依赖,很容易搞乱整个依赖树,后续运行项目大概率出现莫名其妙的兼容问题,非极端情况不要使用。
报错截图参考
内容的提问来源于stack exchange,提问作者Asanka
相关产品推荐
相关产品推荐

