在应用程序中,安装NPM软件包时遇到了一些问题。
package.json如下:
"dependencies": {
"@angular/cdk": "7.2.1",
"privateLib": "19.0.0",
}
我只显示关键部分并隐藏其他东西。privateLib
是一个私人软件包,您可以忽略名称。
和npm install
之后,它报告以下warn
消息:
npm WARN privateLib@19.0.0 requires a peer of @angular/cdk@7.3.7 but none is installed. You must install peer dependencies yourself.
我检查了已安装的@angular/cdk
是版本7.2.1
。
令人困惑的点是,在privateLib
内部,其自己的package.json
配置是这样的:
"dependencies": {
"@angular/cdk": "7.3.7",
}
我检查了privateLib
中没有@angular/cdk
软件包。那么,为什么它不在nested way
中安装自己的7.3.7
版本的依赖性。此行为与NPM3文档不同:https://npm.github.io/how-npm-works-docs/npm3/how-npm3-works.html
我正在使用NPM V6。
的确,每https://blog.npmjs.org/post/110924823920/npm-weekly-5:
我们还将在NPM 3中更改同伴依赖性的行为。我们将不再自动下载同行依赖。相反,如果尚未安装同伴依赖性,我们会警告您。这需要您手动解决同行依赖性冲突,但从长远来看,这应该使您最终在包裹的依赖项上陷入困境的可能性较小。
。
尝试https://github.com/spatie/npm-inpm-install-peers以促进。