我用的是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 ?


当前回答

我拆了包锁。json和node_module,切换到YARN,这就解决了问题

其他回答

好吧,我挣扎了很长一段时间试图弄清楚这个问题。当你用尽了所有其他方法时,这里有一个核选项。

在你的电脑上创建一个新文件夹。 下载一个全新的angular安装-我使用的是这个指南:https://coursetro.com/posts/code/55/How-to-Install-an-Angular-4-App 运行它,确保它能工作 然后从软件包中逐一安装您的依赖项。json文件 在每个安装完成后运行它

当您完成后,它仍然可以工作,将实际代码导入到这个新项目中。修复由新版本angular引起的编译错误。

这对我来说很重要。1个小时的返工vs 6个小时试图找出哪里错了。真希望我一开始就这么做。

Npm-install-peers对我很有用。

npm install -g npm-install-peers

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

在我的例子中,所有的依赖项都已经存在了。在这种情况下,请更新NPM,因为它可能已经崩溃。它解决了我的问题。

npm install -g npm

给出的答案并不总是有效的。如果这不能解决你的问题。确保在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”查找包号。为了安全起见,如果你不想读懂它们的意思,可以去掉~或^。