npm是否可以像纱线选项--yarn一样将依赖项安装为对等依赖项,而不是手动添加依赖项(例如:
"peerDependencies": {
"@angular/core": "^7.0.0"
}更新,更多地澄清这个问题,谢谢@Broncha
问题是如何向项目中添加对等依赖项。那是
npm i dep将依赖项添加到package.json中的“依赖项”,npm i -D dep将依赖项添加到package.json中的"devDependencies“中。如何安装一个依赖项,将其添加到package.json中的“package.json”中?
发布于 2020-04-09 05:47:34
就目前而言,您无法将依赖项安装为对等依赖项.然后,您必须安装并手动将它们移动到peerDependencies对象中的package.json中。
旧答案
使用npm v3删除了对等依赖项的自动安装,此功能是在npm v7中添加的老化特性。
因此将npm更新到版本7或更高版本将解决大多数问题。
如果需要将依赖项安装为对等依赖项。
要安装对等依赖关系,实际上需要手动修改package.json文件。
例如,如果要将角的核心组件库安装为对等依赖项,
npm i @angular/core这将在依赖项对象中添加一个属性。
"dependencies": {
"@angular/core": "^7.0.0"
}peerDependencies键。"peerDependencies": {
"@angular/core": "^7.0.0"
}Extra:如果您需要相同包的两个版本,那么您可以像这样修改packge.json文件,
"peerDependencies": {
"@angular/core": "^6.0.0"
"@angular/core": "^7.0.0"
}发布于 2021-08-26 04:01:42
所有其他答案都是关于NPM命令如何处理当前项目的“peerDeps”和“devDeps”在当前项目的package.json中的安装,并自动安装它们。
但问题是如何使用带有特定标志的NPM命令将dep安装为“peerDeps”并写入当前项目的package.json中。
不幸的是,答案在NPM@7之前也没有这样的标志。
我想NPM并不会将此作为安装deps的命令,因为将'peerDeps‘添加到package.json并不真正需要NPM来将包安装到/node_package.json/。这只是对package.json文件配置的更改。但我知道人们不想手动添加/删除package.json文件中的“deps”,并且希望NPM这样做,这可能是因为NPM将处理'deps‘的顺序。另一个原因是,“peerDeps”总是使用范围的义量器,必须手动编辑,而不是通过npm install命令进行编辑。就像反应-还原
"peerDependencies": {
"react": "^16.8.3 || ^17"
},我认为NPM@7应该提供一种支持这一功能的方法,因为现在它已经能够正式地处理'peerDeps‘,而这个特性就是其中的一部分。
发布于 2020-04-09 06:17:37
您不能在npm 3中直接执行此操作,因此请检查下面的引用以获得detials https://stackoverflow.com/a/35207983/10309265,您可以通过任何一种方法进行引用:https://stackoverflow.com/a/35690137/10309265
https://stackoverflow.com/questions/61114643
复制相似问题