我遵循了升级指南,将Angular从8.2迁移到9.1。我也在使用Angular材料,根据我也更新的指南。我还确保所有其他软件包均为通缉版本。</ p>
每当我尝试运行解决方案时,我都会得到:
ERROR in The target entry-point "@angular/material/core" has missing dependencies:
- @angular/core
- @angular/platform-browser
- rxjs
- rxjs/operators
- @angular/platform-browser/animations
- @angular/common
- @angular/forms
npm已过时,没有检查过的软件包。
所有Angular软件包都已通过ng update更新到了最新版本,只是为了确保我使用npm cache clear --force
清除了缓存。
@ angular / core的版本位于“ @ angular / core”:"^9.1.11"
,材料位于"^9.2.4"
。
我假设材料依赖于内核的不同版本,但不明白为什么默认情况下会使用ng-cli安装它,以及如果安装的版本不合适,应该安装哪个版本
答案 0 :(得分:2)
请遵循以下步骤:-
然后尝试运行您的项目。
答案 1 :(得分:0)
尝试使用纱线(版本1,而不是版本2)https://classic.yarnpkg.com/en/docs/install/#windows-stable。
Yarn与npm具有很好的兼容性,但是使用了完全不同的模块缓存文件夹,并进行了其他node_modules检查以确保您的模块处于正确的状态。
纱线可能无法完全解决您的问题,但是由于项目之间的高度兼容性,项目中的某些人使用纱线,有些人使用npm并不罕见。
答案 2 :(得分:0)
也许这可以提供一些见识:
我遇到了同样的问题,但就我而言,该错误发生在我构建的程序包中,即 package X 。
我能够通过以下方式解决 X包中的问题:
然后在我想使用 package X 的项目中:
问题解决了
答案 3 :(得分:0)
在我的项目中更新节点模块时,我遇到了类似的错误,只有错误出在我的项目使用的内部库中。我最终发现 Angular 依赖于旧版本的 rxjs 而不是库(我刚刚更新)。将 rxjs 降级以匹配 Angular 引入的内容为我解决了这个问题。