在应用程序中,安装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",
}
我检查了@angular/cdk
内没有privateLib
软件包。那么,为什么它不在7.3.7
中安装自己的版本nested way
依赖项。此行为与npm3文档不同:https://npm.github.io/how-npm-works-docs/npm3/how-npm3-works.html
我正在使用npm v6。
答案 0 :(得分:1)
确实https://blog.npmjs.org/post/110924823920/npm-weekly-5:
我们还将在npm @ 3中更改peerDependencies的行为。我们将不再自动下载对等依赖项。相反,如果尚未安装对等依赖项,我们会警告您。这需要您手动解决peerDependency冲突,但从长远来看,这应该会减少您最终因软件包的依赖关系而陷入困境的可能性。