当前位置: 首页 > 知识库问答 >
问题:

如何将npm依赖项添加为对等依赖项

王翰墨
2023-03-14

npm是否有安装依赖作为对等依赖的选项,如yarn选项--yarn,而不是手动添加它例如:

"peerDependencies": {
  "@angular/core": "^7.0.0"
}

感谢@Broncha,更新问题的更多说明

问题是如何向项目添加对等依赖。那就是

  • npm i dep将依赖项添加到package.json中的“dependencies”中,

如何安装将其添加到package.json?中的“对等依赖”的依赖项

共有3个答案

沈翰
2023-03-14

你不能直接在npm 3中做这件事,所以请检查下面的参考资料https://stackoverflow.com/a/35207983/10309265你可以通过两种方式参考:https://stackoverflow.com/a/35690137/10309265

邢同
2023-03-14

但问题是如何使用带有特定标志的NPM命令将deps安装为'peerDeps',并写入当前项目的package.json中。

答案是,不幸的是,甚至在NPM@7之前都没有这样的旗帜

我想NPM并没有把它当成一个安装deps的命令,因为在package.json中添加一个peerDeps并不真的需要NPM来安装一个包 /node_modules/.这只是一个文件配置更改package.json.但是我知道人们不想手动添加/删除package.json文件中的deps,并希望NPM这样做,这可能是因为NPM将处理deps的顺序...另一个原因是,peerDeps总是使用一个范围的Semver,这必须手动编辑,而不是通过一个npm安装命令。

"peerDependencies": {
  "react": "^16.8.3 || ^17"
},

我认为NPM@7应该提供一种支持的方法,因为现在它正式能够处理“peerDeps”,这个功能是其中的一部分。

顾泰平
2023-03-14

-我注意到你更新了问题,而我的答案不符合更新问题的上下文。

npm v3删除了对等依赖项的自动安装,该功能在npm v7中已老化。

因此,将您的npm更新到版本7或更高版本将解决大多数问题。

要安装对等依赖关系,实际上需要手动修改package.json文件。

例如,如果要将angular的核心组件库作为对等依赖项安装,

  1. npm i@angular/core

这将在依赖项对象中添加一个属性。

"dependencies": {
    "@angular/core": "^7.0.0"
}
"peerDependencies": {
    "@angular/core": "^7.0.0"
}

额外:如果您需要相同软件包的两个版本,那么您可以像这样修改packge.json文件,

"peerDependencies": {
   "@angular/core": "^6.0.0"
   "@angular/core": "^7.0.0"
 }
 类似资料:
  • 我使用的是Android studio版本 在项目级分级中: 模块级别等级: 当我导入它时,它发生错误 导入此时 xml错误 错误图片 在xml中添加此标记时发生错误 为此给出解决方案!!!

  • 本文向大家介绍android-gradle 如何添加依赖项,包括了android-gradle 如何添加依赖项的使用技巧和注意事项,需要的朋友参考一下 示例 下面的示例描述了如何在app /模块的build.gradle文件中声明三种不同类型的直接依赖关系:            

  • 我尝试使用MaxMind的GeoIP2数据库,我已经将jar添加到我的Java构建路径中,并用Javadoc和源代码配置了它,但是当我运行这个程序时,我得到了一个NoClassDefFound错误,根据这个堆栈溢出的答案,这是因为我需要添加依赖项,但我不知道如何在eclipse中添加它们,我试图提取jar文件并将它们添加到构建路径中,但这不起作用,我在eclipse中如何做到这一点? 谢谢你的帮助

  • 问题内容: 我使用npm install命令反复收到npm对等依赖项错误。这是我的package.json,我对React和Webpack的对等依赖未得到满足 问题答案: 好吧,首先,这些不是错误,它们是警告。它们实际上并不会阻止您的代码运行,只是在您的依赖项有问题的情况下提醒您。 实际上,软件包是一种指定方式,“使用我,您还应该安装 y 软件包的 x 版本”。就您而言,有两个问题: __ 该版本

  • 问题内容: 例如,当我安装Angular2时: 是否可以传递给npm的魔术标志也将安装对等项依赖关系?我找不到一个……手动复制并粘贴对等项依赖关系并确保我具有正确的版本很繁琐。 换句话说,我宁愿不必这样做: 有什么更好的方法? 问题答案: npm 3明确删除了对等依赖项的自动安装,因为它引起的问题比它尝试解决的更多。例如,您可以在此处阅读有关信息: https://blog.npmjs.org/p

  • 问题内容: 我想问问是否有可能(通常是一个好主意)使用npm处理前端依赖项(Backbone,jQuery)。 我发现Backbone,jQuery等都可以通过npm获得,但我必须设置另一个提取点(默认为)或symlink或其他东西。 有人做过吗? 可能吗? 我必须更改什么? 问题答案: 简短的答案: 有点 。 在很大程度上要由模块作者来支持,但这并不常见。Socket.io是此类支持模块的示例,