如何确定我的哪些依赖项依赖于我的 node_modules 中的特定包?

Posted

技术标签:

【中文标题】如何确定我的哪些依赖项依赖于我的 node_modules 中的特定包?【英文标题】:How can I determine which of my dependencies depends on a particular package in my node_modules? 【发布时间】:2019-08-26 15:37:50 【问题描述】:

Github 最近推出了一项功能,可以通知您 package-lock.json 中的安全漏洞。我想解决这些问题,但这里列出的大多数包都是我的依赖项的依赖项,因此不清楚需要升级哪个***(在我的package.json 中列出)包才能解决问题。

我意识到我可以进入我的package-lock.json,找到包,跟踪它,直到找到我的package.json 中的一个包,但是当我有几十个包要更新时,这似乎是不必要的乏味。编写一个脚本来实现自动化也不会太难,但在我开始努力之前,我希望有一个现有的工具或(理想情况下)npm 函数可以简单地给我答案。

因此,假设我不可能是第一个想要这样做的人,我的问题是: 如何确定我的package.json 中的哪个包导致我的package-lock.json 中列出了另一个特定包,而无需手动通过包锁并追溯每个包?

【问题讨论】:

【参考方案1】:

您可以使用npm ls <package_name>

示例输出:

# npm ls promzard
└─┬ init-package-json@0.0.4
  └── promzard@0.1.5

【讨论】:

以上是关于如何确定我的哪些依赖项依赖于我的 node_modules 中的特定包?的主要内容,如果未能解决你的问题,请参考以下文章

如何确定 Ivy 检索任务是不是更新了我的 lib 文件夹中的任何依赖项?

为啥 package-lock.json 列出的依赖项与 package.json 不同?

如何剔除Maven项目中多余的依赖项?

如何在我的 gemspec 中使用来自 github 的依赖项?

如何在 IDE 中使用 Grails 依赖项

在 XAML 中调用时,如何使我的自定义依赖项属性排序到顶部?