NPM 过时的命令未显示完整列表

问题描述

当我在终端上执行以下操作时: npm outdated -g 我得到了一个包含可用更新的全局包列表,这很好:

Package              Current  Wanted  Latest  Location
create-next-app       10.0.3  10.0.4  10.0.4  global
eslint-plugin-react   7.21.5  7.22.0  7.22.0  global
firebase-tools         9.0.1   9.1.0   9.1.0  global

在我安装完所有这些之后,我想确保我更新了所有软件包,所以我再次点击了相同的命令,但不小心点击了 npm outdated -g\。这次拿到了之前没有列出的包:

Package                 Current  Wanted  Latest  Location
eslint-plugin-flowtype    3.9.1  3.13.0   5.2.0  global

我再次点击 npm outdated -g 没有结果,用反斜杠重复并得到这个包。
我检查了 this 并没有看到任何相关内容。有谁知道是什么问题?当然我可以看到这个 eslint-plugin-flowtype 包有破坏性的变化(3.x vs 5.x),但是它怎么没有显示在原来的 npm outdated -g 命令中?

谢谢。

解决方法

docs 中所示,npm outdated 默认深度为 0,因此除非您覆盖它,否则您将始终只看到过时的顶级依赖项。您可以运行 npm outdated --depth 9999 之类的程序来查看所有内容。