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

相关文章

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

Python Jupyter Notebook导包报错问题及解决

《PythonJupyterNotebook导包报错问题及解决》在conda环境中安装包后,JupyterNotebook导入时出现ImportError,可能是由于包版本不对应或版本太高,解决方... 目录问题解决方法重新安装Jupyter NoteBook 更改Kernel总结问题在conda上安装了

pip install jupyterlab失败的原因问题及探索

《pipinstalljupyterlab失败的原因问题及探索》在学习Yolo模型时,尝试安装JupyterLab但遇到错误,错误提示缺少Rust和Cargo编译环境,因为pywinpty包需要它... 目录背景问题解决方案总结背景最近在学习Yolo模型,然后其中要下载jupyter(有点LSVmu像一个

解决jupyterLab打开后出现Config option `template_path`not recognized by `ExporterCollapsibleHeadings`问题

《解决jupyterLab打开后出现Configoption`template_path`notrecognizedby`ExporterCollapsibleHeadings`问题》在Ju... 目录jupyterLab打开后出现“templandroidate_path”相关问题这是 tensorflo

如何解决Pycharm编辑内容时有光标的问题

《如何解决Pycharm编辑内容时有光标的问题》文章介绍了如何在PyCharm中配置VimEmulator插件,包括检查插件是否已安装、下载插件以及安装IdeaVim插件的步骤... 目录Pycharm编辑内容时有光标1.如果Vim Emulator前面有对勾2.www.chinasem.cn如果tools工

在MySQL执行UPDATE语句时遇到的错误1175的解决方案

《在MySQL执行UPDATE语句时遇到的错误1175的解决方案》MySQL安全更新模式(SafeUpdateMode)限制了UPDATE和DELETE操作,要求使用WHERE子句时必须基于主键或索引... mysql 中遇到的 Error Code: 1175 是由于启用了 安全更新模式(Safe Upd

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动