新建Vue2+Vuetify项目执行npm install报依赖解析错误如何解决
报错含义说明
该报错是npm 7及以上版本默认开启严格peer依赖校验时,触发的Vue CLI 5.0.0初始模板已知依赖解析bug,和额外添加Vuetify没有直接关联,具体逻辑如下:
- 日志首行
Found: @vue/cli-service@undefined代表npm解析依赖树时,未能正确识别根项目中声明的@vue/cli-service@5.0.0版本号,误判该依赖版本未定义 - 后续的依赖冲突提示为连带误报:
@vue/cli-plugin-babel@5.0.0本身要求宿主项目安装版本范围为^3.0.0 || ^4.0.0 || ^5.0.0-0的@vue/cli-service,项目中声明的5.0.0版本本就符合该要求,仅因npm解析时未读取到正确版本号才抛出错误 - 纯默认生成的Vue2 CLI 5.0.0模板不做任何修改,执行
npm install时也有概率触发该问题
可行解决方法
- 统一Vue CLI相关依赖版本:打开项目根目录的package.json,将所有
@vue/cli-前缀的依赖版本统一修改为~5.0.8(5.x分支当前最新稳定修复版),删除项目下的node_modules文件夹和package-lock.json文件后,重新执行npm install即可 - 跳过严格peer依赖校验:执行安装命令时追加参数绕过校验规则,命令为
npm install --legacy-peer-deps,该方案不会修改项目现有依赖声明,仅临时关闭npm的强制peer依赖匹配检查 - 降级npm版本到6.x:npm 6版本默认不强制校验peer依赖匹配关系,不会出现这类解析误报,执行
npm install -g npm@6完成全局降级后,再回到项目目录重新执行安装即可
补充提示:基于Vue2项目安装Vuetify时,需选择适配Vue2的2.x版本,不要安装仅支持Vue3的Vuetify 3版本,否则会出现真实的依赖兼容问题,Vue2环境下Vuetify的正确安装命令为
vue add vuetify@2
内容的提问来源于stack exchange,提问作者KSDev
相关产品推荐
相关产品推荐

