npm是否可以像yarn选项--yarn
那样将依赖项安装为对等依赖项,而不是手动添加,例如:
"peerDependencies": {
"@angular/core": "^7.0.0"
}
字符串
更新,对问题进行更多澄清,感谢@Broncha
问题是如何在项目中添加对等依赖。
npm i dep
将依赖项添加到package.json中的“dependencies”,npm i -D dep
将依赖项添加到package.json中的“devendencies”。
如何安装一个依赖项,将其添加到package.json中的“对等关系”中?
4条答案
按热度按时间8hhllhi21#
目前没有办法,可以把依赖安装为peer依赖,安装后手动移动到
package.json
中的peerDependencies
对象旧答案
**因此,将您的npm更新到版本7或更高版本将解决大多数问题。
如果需要将依赖安装为对等依赖。
要安装对等依赖,实际上需要手动修改
package.json
文件。例如,如果你想安装angular的核心组件库作为对等依赖,
npm i @angular/core
个字符串
1.将安装的软件包名称移动到
peerDependencies
键。型
**额外:**如果你需要同一个包的两个版本,那么你可以这样修改
packge.json
文件,型
r8xiu3jd2#
所有其他的答案都在谈论NPM命令如何处理在当前项目的package.json中安装当前'deps'和'devDeps'的'peerDeps',自动安装它们。
但问题是如何使用带有特定标志的NPM命令将deps安装为'peerDeps'并写入当前项目的package.json。
我猜NPM不会把这个命令当作安装deps的命令,因为在package.json中添加一个“peerDeps”并不需要NPM来安装一个包到/node_modules/中。这只是对package.json的一个文件配置更改。但我理解人们不想在package.json文件中手动添加/删除“deps”,而希望NPM这样做,这可能是因为NPM会处理“deps”的顺序。另一个原因是,“peerDeps”总是使用一个范围的semver,并且必须手动编辑而不是通过
npm install
命令。比如react-redux:字符串
我认为NPM@7应该提供一种方法来支持这一点,因为现在它正式能够处理“peerDeps”,这个功能是它的一部分。
bweufnob3#
install命令的
--save-peer
选项就是您要查找的:字符串
如果
<dep>
已经安装在dependencies
下,则此命令将自动将其移动到peerDependencies
下。这比手动编辑package.json要好,因为它也会负责更新锁文件。
tpgth1q74#
可以使用pkg命令:
字符串