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

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

npm install -g npm@7

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

其他回答

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

导致此错误的最可能原因之一可能是您在package.json中定义了较旧的版本。要解决此问题,请更改包中的版本。Json来匹配那些NPM抱怨的。

一旦完成,运行npm install,瞧!!

给出的答案并不总是有效的。如果这不能解决你的问题。确保在package.json中也使用了正确的符号。这对解决头痛非常重要。例如:

warning " > @angular/compiler-cli@5.2.7" has incorrect peer dependency "typescript@>=2.4.2 <2.7".
warning " > tsickle@0.25.6" has incorrect peer dependency "typescript@>=2.4.2 <2.6".

所以我的typescript需要在2.4.2到2.6之间?

所以我把我的typescript库从使用"typescript": "^2.7"改为使用"typescript": "^2.5"。看起来是正确的吗?

错了。

^意味着你可以接受npm使用"typescript": "2.5"或"2.6"或"2.7"等等…

如果你想知道^和~的意思,看:波浪号(~)和插入号(^)在package.json中的区别是什么?

此外,还必须确保包存在。可能没有“typescript”:“2.5.9”查找包号。为了安全起见,如果你不想读懂它们的意思,可以去掉~或^。

可以通过全局安装UNMET依赖项来解决。

示例:NPM install -g @angular/common@4.4.6

逐个安装。 这对我很管用。

我收到以下错误: 警告“> react-native@0.68.2”没有满足peer dependency“react@17.0.2”。

看起来主要原因是我安装了“react-native”包,而不是随节点安装而来的“npx react-native”包。

一旦我删除了“react-native”包,我就能够成功地使用“npx react-native init packagename”语法。

你可以在react native站点上查看关于上述问题的react-native文档: https://reactnative.dev/docs/environment-setup