Rez*_*eza 200 node.js npm angularjs npm-install angularjs-material
我在Windows 10上,使用Node 5.6.0和npm 3.6.0.我正在尝试将angular-material和mdi安装到我的工作文件夹中.npm install angular-material 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.
Run Code Online (Sandbox Code Playgroud)
如何解决此问题以安装AngularJS Material和MDI?
Dat*_*sik 184
npm不再安装对等依赖项,因此您需要手动安装它们,只需npm install
在所需的deps上执行,然后再尝试安装主要的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`
Run Code Online (Sandbox Code Playgroud)
所以你需要 npm install angular angular-animate angular-aria angular-material angular-messages mdi
小智 63
UNMET PEER DEPENDENCY
如果package.json
不满足文件中指定的一个或多个模块的依赖项,则抛出错误.仔细检查警告并package.json
使用正确版本的依赖项更新文件.
然后跑
rm -rf node_modules/
npm cache clean
npm install
Run Code Online (Sandbox Code Playgroud)
这将正确安装所有必需的依赖项.
小智 29
在我的情况下,所有的依赖关系已经存在.在那种情况下请更新NPM,因为它可能已经崩溃了.它解决了我的问题.
npm install -g npm
Run Code Online (Sandbox Code Playgroud)
ale*_*999 14
npm-install-peers为我工作.
npm install -g npm-install-peers
Run Code Online (Sandbox Code Playgroud)
ohk*_*s11 12
编辑 2020
从 npm v7.0.0 开始,npm 会自动安装对等依赖项。这是升级到 v7 的原因之一。
https://github.blog/2020-10-13-presenting-v7-0-0-of-the-npm-cli/
此页面也很好地解释了对等依赖的基本原理。 https://github.com/npm/rfcs/blob/latest/implemented/0025-install-peer-deps.md
此答案并不适用于所有情况,但如果您无法通过简单地键入 来解决错误npm install
,则此步骤可能会有所帮助。
假设您遇到此错误。
UNMET PEER DEPENDENCY packageA@4.2.0
npm WARN packageB@3.3.0 requires a peer of packageA@^3.1.0 but none was installed.
Run Code Online (Sandbox Code Playgroud)
这意味着您安装了 packageA 的 4.2.0 版本,但 packageB@3.3.0 需要 pakageA 的 3.xx 版本。( ^的解释)
所以你可以通过将 packageA 降级到 3.xx 来解决这个错误,但通常你不想降级包。
好消息是,在某些情况下,packageB 只是跟不上 packageA,而 packageB 的维护者正在努力将 packageA 的对等依赖项提高到 4.xx
在这种情况下,您可以检查是否存在更高版本的 packageB需要 npm 或 github 中 packageA 的 4.2.0 版本。
通常,您会发现像这样的依赖关系发生了重大变化。
packageB v4.0.0-beta.0
BREAKING CHANGE
package: requires packageA >= v4.0.0
Run Code Online (Sandbox Code Playgroud)
如果在发布页面上找不到任何内容,请转到问题页面并按关键字搜索问题,例如peer
. 您可能会找到有用的信息。
此时,您有两个选择。
如果选择option1:
在很多情况下,版本没有latest
标签因此不稳定。因此,您必须检查此更新中发生的更改,并确保任何内容都不会中断。
如果你选择选项2:
如果pakageA从版本3升级到4是微不足道的,或者如果pakageB的维护者还没有测试pakageA的版本4但说应该没有问题,你可以考虑留下这个错误。
在这两种情况下,最好彻底测试它是否没有破坏任何东西。
最后,如果你想知道为什么你必须手动做这样的事情,这个链接解释得很好。
小智 6
导致此错误的最可能原因之一可能是您已在package.json中定义了旧版本.要解决此问题,请更改package.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".
Run Code Online (Sandbox Code Playgroud)
所以我的打字稿需要在 2.4.2 和 2.6 之间,对吗?
所以我将我的打字稿库从使用更改"typescript": "^2.7"
为使用"typescript": "^2.5"
。似乎正确?
错误的。
的^
,你是好使用NPM手段"typescript": "2.5"
或"2.6"
或"2.7"
等...
如果您想了解 the^
和~
它的含义,请参阅:package.json 中的波浪号(~)和插入符(^)之间有什么区别?
您还必须确保该包存在。也许没有"typescript": "2.5.9"
查找包号。为了真正安全~
,^
如果您不想阅读它们的意思,只需删除或。
归档时间: |
|
查看次数: |
207448 次 |
最近记录: |