我用的是Windows 10, Node 5.6.0和npm 3.6.0。我试图安装角材料和mdi到我的工作文件夹。NPM安装角材质mdi错误:

+-- angular@1.5.0

+-- UNMET PEER DEPENDENCY angular-animate@^1.5.0

+-- UNMET PEER DEPENDENCY angular-aria@^1.5.0

+-- angular-material@1.0.6

+-- UNMET PEER DEPENDENCY angular-messages@^1.5.0 `-- mdi@1.4.57

npm WARN enoent ENOENT: no such file or directory, open
'C:\Users\xxxxx\Desktop\ngClassifieds\package.json' 

npm WARN angular-material@1.0.6 requires a peer of
angular-animate@^1.5.0 but none was installed. 

npm WARN angular-material@1.0.6 requires a peer of angular-aria@^1.5.0
but none was installed. 

npm WARN angular-material@1.0.6 requires a peer of
angular-messages@^1.5.0 but none was installed.

如何解决这个问题来安装AngularJS材质和MDI ?


当前回答

NPM不再安装对等依赖项,所以你需要手动安装它们,只需要在需要的deps上进行NPM安装,然后尝试再次安装主deps。


回复评论:

就在这条信息里,上面写着你缺哪一节课

UNMET PEER DEPENDENCY angular-animate@^1.5.0 +-- 
UNMET PEER DEPENDENCY angular-aria@^1.5.0 +-- angular-material@1.0.6 +
UNMET PEER DEPENDENCY angular-messages@^1.5.0 `-- mdi@1.4.57` 

所以你需要npm安装angular angular-animate angular-aria angular-material angular-messages mdi

其他回答

如果你使用的是npm v6或之前版本,你会得到这个警告。在npm v7.0之后,npm开发团队声明他们将自动安装对等依赖项。因此,现在您不希望手动安装对等依赖项。

你可以使用这个命令安装npm v7.0。

npm install -g npm@7

要了解更多关于npm v7.0的信息,请参阅这篇由Github blog发布的博文。

如果你想保留angular的当前版本,你可以访问这个版本兼容性检查器来检查哪个版本的angular-material最适合你当前的angular版本。你也可以使用角材料兼容性检查角材料的对等依赖关系。

NPM不再安装对等依赖项,所以你需要手动安装它们,只需要在需要的deps上进行NPM安装,然后尝试再次安装主deps。


回复评论:

就在这条信息里,上面写着你缺哪一节课

UNMET PEER DEPENDENCY angular-animate@^1.5.0 +-- 
UNMET PEER DEPENDENCY angular-aria@^1.5.0 +-- angular-material@1.0.6 +
UNMET PEER DEPENDENCY angular-messages@^1.5.0 `-- mdi@1.4.57` 

所以你需要npm安装angular angular-animate angular-aria angular-material angular-messages mdi

在尝试修复依赖项上的安全漏洞问题时,也可能发生此问题。

以下是我所做的: 审计已安装的依赖项

npm audit

如果有可用的修复程序,运行以下程序将在大多数情况下修复问题:

npm audit fix

有些问题会有SEMVER警告,按照链接会给我们提示如何进行手动检查和/或下一步该做什么。

做了更多的研究后,我发现了这个命令:

npm upgrade

似乎npm审计修复没有考虑更新对等依赖,运行npm升级将修复未满足的对等依赖。 现在检查我们是否通过运行来解决这个问题:

npm list

这将为我们提供项目的所有依赖项,并警告我们任何未满足的peer deps错误。在大多数情况下,升级实际上比停留在你正在使用的包的旧版本要好,如果你没有安全漏洞问题,npm安装也是一个可行的选择。

今天可用的Angular 2 rc。7,我有类似的问题rxjs@5.0.0-beta.12 UNMET PEER DEPENDENCY。

如果你像我一样,简单地替换掉@angular/…rc。6到@angular/…rc。7 -这还不够。因为,例如,@angular/router没有rc。6版本。

在这种情况下,更好的审查包。快速入门中的json