【发布时间】:2018-12-01 10:29:39
【问题描述】:
我在 stackoverflow 上看到过关于 npm peerDependencies 警告的类似问题 - 但没有一个解决实际安装依赖项的最佳实践。即,我们现在应该将它们与dependencies 和devDependencies 一起保存吗?如果是这样,peerDependencies 在package.json 中的作用是什么?
在安装了一些其他 npm 包后,我收到了一系列警告:
npm WARN slate-prop-types@0.4.32 requires a peer of slate@>=0.32.0 but none is installed. You must install peer dependencies yourself.
所以我所做的是在package.json 中设置一个peerDependencies 对象,并包含它的要求:
...
"peerDependencies": {
"slate": "0.32.0"
},
...
重新运行npm i,但警告仍然存在。
只有当我在 devDependencies 或依赖项中包含 peerDependency 时,警告才会消失,我真的不想这样做,因为它混淆了我的项目直接依赖的包。
解决这个问题的正确方法是什么?
【问题讨论】:
-
你可以试试
npm install --save slate@0.32.0 -
@Isaac 这会起作用,但正如我提到的,它会将其保存到我不喜欢的
dependencies。这是处理 peerDependencies 的最佳做法吗? -
@Raptor 我知道它已在 npm 3 中删除 - 但是手动安装它们的最佳做法是什么?如果 peerDependencies 对象没有做任何事情 - 它的目的是什么?
-
@Raptor 我已经阅读了这篇文章 - 但它再次没有说明如何实际安装对等依赖项。
-
哦,伙计们。只需回答问题 - 如何手动安装同行依赖项?是关于运行
npm install slate@0.32.0 --no-save吗?如果是这样,下一次运行npm install将删除所有对等依赖项。如果我有一个插件项目,并且我正在测试它而不使用主机应用程序怎么办?
标签: javascript npm npm-install