如何找到哪些软件包依赖于 Angular 高于 6.x 的版本?

How do I find which packages are dependent on Angular versions higher than 6.x?

我的项目正在使用 Angular 5.x,我的任务是将其升级到 6.x。在将近 2 周的时间里,我试图弄清楚这一切是如何与 NPM 一起工作的,但由于我认为是包错误而未能成功升级到构建,我完全不知所措。

我已经多次删除 node_modules 并重新运行这个项目,但是 ng 构建失败了,看起来像是包问题。

如何找到哪些包依赖于 Angular 高于 6.x 的版本?

我试过一次做一个包,但我遗漏了一些东西,因为它无法构建。错误因 Observable not being found in some package 或 it is looking for the Angular 6 hack package.

而异。

我能想到的最佳解决方案如下

  • 按照 Angular
  • 中的更新指南进行操作
  • 对于 package.json
  • 中定义的每个包
  • 执行以下命令
    • 查看过时的包:npm outdated
    • 更新 package.json 文件以匹配版本
  • 对于所有包,执行以下命令
    • 查看可用版本:npm view packageName versions --json
    • 查看版本依赖:npm view packageName dependencies --json
    • 查看版本peerDependencies:npm view packageName peerDependencies --json
    • 更新 package.json 文件以匹配 Angular 6.1.10
    • 的最高版本

也许这一切都是不必要的,但我并不真正了解 npm 的来龙去脉以及 Angular 这是我能想到的最好的。

现在一切都从 5.x 更新到 6.1.10,当我删除 node_modules 文件夹时,npm 安装功能完全正常,ng build 编译没有错误,并且应用程序完全可以运行。