首页 > web前端 > js教程 > `npm install --legacy-peer-deps` 有什么作用以及何时推荐?

`npm install --legacy-peer-deps` 有什么作用以及何时推荐?

Linda Hamilton
发布: 2024-11-28 14:15:19
原创
1067 人浏览过

What does `npm install --legacy-peer-deps` do and when is it recommended?

npm install --legacy-peer-deps 到底做了什么?何时推荐/什么是潜在用例?

TL;DR:

  • NPM v7 默认安装对等依赖项;以前版本的 NPM 并非如此。
  • NPM 模块必须命名其对等依赖项的特定版本。
  • 如果您已经安装了对等依赖项,但尚未安装由模块,然后 NPM v7 会抛出错误。
  • 添加 --legacy-peer-deps 会忽略这个新要求,存在引入破坏的风险

--legacy-peer-deps 从 NPM v4 到 v6 恢复对等依赖安装行为

思考此标志的一种方式是它没有做新的事情;相反,它告诉 NPM 不要做新的事情,因为 NPM v7 现在默认安装对等依赖项。

在许多情况下,这会导致版本冲突,从而破坏安装过程。

v7 中引入了 --legacy-peer-deps 标志,作为绕过对等依赖项自动安装的方法;它告诉 NPM 忽略对等部门并继续安装。这就是 NPM v4 到 v6 的过去情况。

依赖关系与对等依赖关系

如果您不清楚常规 deps 和对等 deps 之间的区别,这里有一些背景信息:

  • 依赖项: NPM 模块所需的库或模块
  • peerDependencies: 对等依赖是模块设计用于使用的第三方软件库的特定版本或版本集。

这个问题部分是由 React v17 驱动的

由于大量模块还没有特别添加了 React v17(或者最近的 React 18)作为对等依赖项,现在在 v17 React 应用程序中运行 npm 安装时遇到无法解析依赖关系树错误是很常见的。

只要出现此错误就会触发模块(或其任何自己的依赖项)将 React 的先前主要版本列为对等依赖项,而无需特别包括 React v17。

如何检查任何给定的对等依赖项module

NPM 本身不会在给定模块的页面上列出对等依赖项。但是,有一个简单的解决方法可以在安装之前或之后检查对等依赖项。只需运行:

npm info name-of-module peerDependencies
登录后复制

此命令将返回每个对等依赖项的名称以及所有兼容版本。

以上是`npm install --legacy-peer-deps` 有什么作用以及何时推荐?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板