NPM警告有关不推荐使用的软件包的消息

我正在全球安装一个模块

$ npm install -g X 

NPM说

“npm WARN弃用lodash@1.0.2:lodash @ <3.0.0不再维护升级到lodash@ ^ 4.0.0”

我怎么才能找出哪个模块依赖于旧版本的lodash?

来自NPM的警告消息似乎没有给我任何线索哪个模块引用这个旧版本(我相信,模块X没有直接依赖这个旧版本的lodash)。

我得到了类似的问题的答案: https : //stackoverflow.com/a/36335866/1115187

简述:

 npm outdated --depth=3 

该命令将分析已安装的NPM软件包及其版本。 该报告将包含:

  1. 包裹名字
  2. 最新版本
  3. 当前版本
  4. 依赖path( depth级别)

希望这个信息可以帮助你收集关于过时包的信息。

下一步 – 与适当的软件包的维护人员取得联系,并要求他们更新软件包(可能是,你想发送拉请求)。

UPD:npm-check

有一个很好的npm包: npm-check ,它允许检查过时的依赖关系。 大概

最有用的组合: npm-check -u交互式更新 。 交互式菜单显示当前文件夹中所有依赖关系所需的信息,并允许在3秒钟内更新所有依赖关系

使用npm list 。 它会打印出你的模块所依赖的所有包以及你的依赖依赖关系等等。 也许redirect输出到一个文件或grep它,所以你可以更容易地search它。

 npm la <package-name> 

也可以工作,并会给你关于依赖关系的依赖图的大部分细节。

npm ls <package-name> ,做类似的事情,但是给你更less的细节

您可以searchnode_modules下的所有package.json文件,并查看哪些文件依赖于lodash 1.0.2。