如何检查 node_modules 目录中是否有不需要的包?
How do I check node_modules directory for unnecessary packages?
我的 node_modules 有一些包没有在我的 package.json 的依赖项中列出,所以我猜测这些包是我的依赖项的依赖项。我怎样才能检查这个?我想确保我的 node_modules 目录中没有任何不必要的包。
如果您使用的是 NPM 3,您可能会在 node_modules
目录中看到大量您不希望看到的模块,因为 NPM 3 扁平化了依赖层次结构。
无论您使用哪个版本,如果您 运行 npm list
命令,NPM 应该突出显示任何不需要的无关模块。
如果您的依赖项列表不会花太长时间重新安装,一个简单的选择是 table-翻转:完全删除 node_modules
目录和 运行 npm install
重新创建它。
如果您不想这样做,您可以尝试检查依赖项的工具,例如 depcheck @sagar-gopale 在他们的回答中建议。
相关:运行 npm -v
了解您是 运行ning npm v2 还是 v3。就像@cartant 在他们的回答中所说的那样,对于 v3,你的 node_modules
目录将最大限度地平坦,这意味着过去显示为其他模块子目录的东西(当安装 npm v2 时)现在将出现在顶层node_modules
本身。这可能是您看到的模块比预期多的原因。
由于包可能需要其他包,仅仅因为 node_modules 文件夹中的包在您的 packages.json 文件中不存在并不意味着它们不需要它们之一您指定的包裹。
如果您 运行 在解决方案的根目录上执行 npm prune
命令,它将读取依赖关系树并删除真正不再需要的包。
我的 node_modules 有一些包没有在我的 package.json 的依赖项中列出,所以我猜测这些包是我的依赖项的依赖项。我怎样才能检查这个?我想确保我的 node_modules 目录中没有任何不必要的包。
如果您使用的是 NPM 3,您可能会在 node_modules
目录中看到大量您不希望看到的模块,因为 NPM 3 扁平化了依赖层次结构。
无论您使用哪个版本,如果您 运行 npm list
命令,NPM 应该突出显示任何不需要的无关模块。
如果您的依赖项列表不会花太长时间重新安装,一个简单的选择是 table-翻转:完全删除 node_modules
目录和 运行 npm install
重新创建它。
如果您不想这样做,您可以尝试检查依赖项的工具,例如 depcheck @sagar-gopale 在他们的回答中建议。
相关:运行 npm -v
了解您是 运行ning npm v2 还是 v3。就像@cartant 在他们的回答中所说的那样,对于 v3,你的 node_modules
目录将最大限度地平坦,这意味着过去显示为其他模块子目录的东西(当安装 npm v2 时)现在将出现在顶层node_modules
本身。这可能是您看到的模块比预期多的原因。
由于包可能需要其他包,仅仅因为 node_modules 文件夹中的包在您的 packages.json 文件中不存在并不意味着它们不需要它们之一您指定的包裹。
如果您 运行 在解决方案的根目录上执行 npm prune
命令,它将读取依赖关系树并删除真正不再需要的包。