npm install:Could not resolve dependency:peer... 原因和解决方案,长期更新npm相关错误问题

本文主要是介绍npm install:Could not resolve dependency:peer... 原因和解决方案,长期更新npm相关错误问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

亲测可用,若有疑问请私信

前言
最近一个后台管理项目中我集成了tailwindcss框架;在公司的电脑上npm install是没问题的,到家里的电脑npm install 就报错; 报错日志如下:

# npm resolution error report

2021-05-22T14:02:27.205Z

While resolving: ymsh@1.0.0
Found: postcss@7.0.35
node_modules/postcss
  postcss@"^7.0.35" from the root project

Could not resolve dependency:
peer postcss@"^8.0.0" from postcss-cli@8.3.1
node_modules/postcss-cli
  postcss-cli@"^8.3.1" from the root project

Fix the upstream dependency conflict, or retry
this command with --force, or --legacy-peer-deps
to accept an incorrect (and potentially broken) dependency resolution.

Raw JSON explanation object:

{
  "code": "ERESOLVE",
  "current": {
    "name": "postcss",
    "version": "7.0.35",
    "whileInstalling": {
      "name": "ymsh",
      "version": "1.0.0",
      "path": "F:\\代码\\ymsh-shopadmin"
    },
    "location": "node_modules/postcss",
    "dependents": [
      {
        "type": "prod",
        "name": "postcss",
        "spec": "^7.0.35",
        "from": {
          "location": "F:\\代码\\ymsh-shopadmin"
        }
      }
    ]
  },
  "edge": {
    "type": "peer",
    "name": "postcss",
    "spec": "^8.0.0",
    "error": "INVALID",
    "from": {
      "name": "postcss-cli",
      "version": "8.3.1",
      "whileInstalling": {
        "name": "ymsh",
        "version": "1.0.0",
        "path": "F:\\代码\\ymsh-shopadmin"
      },
      "location": "node_modules/postcss-cli",
      "dependents": [
        {
          "type": "prod",
          "name": "postcss-cli",
          "spec": "^8.3.1",
          "from": {
            "location": "F:\\代码\\ymsh-shopadmin"
          }
        }
      ]
    }
  },
  "peerConflict": null,
  "strictPeerDeps": false,
  "force": false
}

家里的node -v 是14.16 跟公司一样,唯独是 npm 版本不一样:家里的是 npm 7.6.1
上述报错日志中有个关键字眼:this command with --force, or --legacy-peer-deps

Fix the upstream dependency conflict, or retry
this command with --force, or --legacy-peer-deps
to accept an incorrect (and potentially broken) dependency resolution.

于是我查了一下是什么意思:
辗转搜索得出这样的答案:
修复上游依赖性冲突,或使用--force或--legacy-peer-deps重试此命令,以接受不正确的(并且可能会损坏的)依赖性解析。

-f或–force参数将强制npm获取远程资源,即使磁盘上存在本地副本也是如此。
同时,用于的文档--legacy-peer-deps说:
–legacy-peer-deps:安装时忽略所有peerDependencies,其样式为npm版本4到版本6。
在新版本的npm(v7)中,默认情况下,npm install当遇到冲突的peerDependencies时将失败。以前不是那样的。
两者之间的区别如下-
--legacy-peer-deps:安装时忽略所有peerDependencies,采用npm版本4到版本6的样式。
--strict-peer-deps:遇到任何冲突的peerDependencies时,失败并中止安装过程。默认情况下,npm仅会因根项目的直接依赖关系而导致的peerDependencies冲突而崩溃。

以上是英文文献翻译过来的,是有点生硬:我简单总结一下:
在新版本的npm(v7)中,默认情况下,npm install当遇到冲突的peerDependencies时将失败。不会继续安装,并提示:

Fix the upstream dependency conflict, or retry
this command with --force, or --legacy-peer-deps
to accept an incorrect (and potentially broken) dependency resolution.

这样的关键字,这是npm版本的依赖冲突的提示使然,
那么npm:何时使用--force和--legacy-peer-deps?
--force 会无视冲突,并强制获取远端npm库资源,即使本地有资源也会覆盖掉
--legacy-peer-deps:安装时忽略所有peerDependencies,忽视依赖冲突,采用npm版本4到版本6的样式去安装依赖,已有的依赖不会覆盖,。
建议用--legacy-peer-deps 比较保险一点,反正我用了就安装成功了;
 
 

这篇关于npm install:Could not resolve dependency:peer... 原因和解决方案,长期更新npm相关错误问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/972982

相关文章

Pyserial设置缓冲区大小失败的问题解决

《Pyserial设置缓冲区大小失败的问题解决》本文主要介绍了Pyserial设置缓冲区大小失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录问题描述原因分析解决方案问题描述使用set_buffer_size()设置缓冲区大小后,buf

resultMap如何处理复杂映射问题

《resultMap如何处理复杂映射问题》:本文主要介绍resultMap如何处理复杂映射问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录resultMap复杂映射问题Ⅰ 多对一查询:学生——老师Ⅱ 一对多查询:老师——学生总结resultMap复杂映射问题

jupyter代码块没有运行图标的解决方案

《jupyter代码块没有运行图标的解决方案》:本文主要介绍jupyter代码块没有运行图标的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录jupyter代码块没有运行图标的解决1.找到Jupyter notebook的系统配置文件2.这时候一般会搜索到

MySQL更新某个字段拼接固定字符串的实现

《MySQL更新某个字段拼接固定字符串的实现》在MySQL中,我们经常需要对数据库中的某个字段进行更新操作,本文就来介绍一下MySQL更新某个字段拼接固定字符串的实现,感兴趣的可以了解一下... 目录1. 查看字段当前值2. 更新字段拼接固定字符串3. 验证更新结果mysql更新某个字段拼接固定字符串 -

java实现延迟/超时/定时问题

《java实现延迟/超时/定时问题》:本文主要介绍java实现延迟/超时/定时问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java实现延迟/超时/定时java 每间隔5秒执行一次,一共执行5次然后结束scheduleAtFixedRate 和 schedu

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Vue3使用router,params传参为空问题

《Vue3使用router,params传参为空问题》:本文主要介绍Vue3使用router,params传参为空问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录vue3使用China编程router,params传参为空1.使用query方式传参2.使用 Histo

SpringBoot首笔交易慢问题排查与优化方案

《SpringBoot首笔交易慢问题排查与优化方案》在我们的微服务项目中,遇到这样的问题:应用启动后,第一笔交易响应耗时高达4、5秒,而后续请求均能在毫秒级完成,这不仅触发监控告警,也极大影响了用户体... 目录问题背景排查步骤1. 日志分析2. 性能工具定位优化方案:提前预热各种资源1. Flowable

C/C++错误信息处理的常见方法及函数

《C/C++错误信息处理的常见方法及函数》C/C++是两种广泛使用的编程语言,特别是在系统编程、嵌入式开发以及高性能计算领域,:本文主要介绍C/C++错误信息处理的常见方法及函数,文中通过代码介绍... 目录前言1. errno 和 perror()示例:2. strerror()示例:3. perror(