全局安装具有对等依赖关系的 npm 包(package.json 中未提及)

Posted

技术标签:

【中文标题】全局安装具有对等依赖关系的 npm 包(package.json 中未提及)【英文标题】:Install npm package globally that has peer dependency (not mentioned in package.json) 【发布时间】:2019-05-22 06:50:30 【问题描述】:

我正在尝试使用 npm 全局安装 marktext(在克隆存储库之后):

npm install -g

npm WARN dagre-d3-renderer@0.5.8 requires a peer of d3@^4.13.0 but none is installed. You must install peer dependencies yourself.

我应该如何安装全局包的对等依赖项?请给出命令,以便安全并防止将来发生冲突。


我做了npm install -g d3@^4.13.0,但我仍然遇到同样的错误。

全局安装依赖项是个好主意吗?另外,我是否需要在全局更新时将其锁定在全局版本以防止自动更新?

【问题讨论】:

我有同样的问题,只是针对不同的包。你找到答案了吗? @Kamafeather no 【参考方案1】:

尝试将npm 升级到版本 7

npm install -g npm@7

npm 7 带有新功能。其中之一是自动安装对等依赖项

自动安装对等依赖项:在 npm 7 之前,开发人员需要管理和安装他们自己的对等依赖项。新的对等依赖算法确保在 node_modules 树中对等依赖的位置或之上找到有效匹配的对等依赖。

【讨论】:

以上是关于全局安装具有对等依赖关系的 npm 包(package.json 中未提及)的主要内容,如果未能解决你的问题,请参考以下文章

安装拉力编码依赖项时未安装 NPM 警告所需的对等依赖项

如何识别哪些 npm 包只是对等依赖项?

Monorepo 中的对等依赖关系

为啥 NPM 7.17 不安装我的对等依赖项

在 npm 包中使用对等依赖项

为啥“npm install”告诉我“没有安装你必须自己安装对等依赖项:”?