2016-09-03 68 views

回答

2

如果你的依赖列表不会花很长时间来重新安装,一个简单的选择是一个表翻转:完全去除node_modules目录并运行npm install重新创建它。

如果你不想这样做,你可以尝试一些检查你的依赖项的工具,比如depcheck,因为@ sagar-gopale在他们的答案中提出了建议。

相关:运行npm -v发现,如果你正在运行NPM V2或V3。像@cartant说,在他们的答案,与V3,你node_modules目录将是最大平坦,这意味着东西,用来显示为其他模块的子目录(与NPM V2安装)现在将出现在node_modules本身的顶层。这可能是你看到更多模块比你期望的原因。

+0

我已经完成了表翻转的第一个选项,但是当我运行dep时,它仍然显示了很多“未使用的依赖关系”,我肯定知道我正在使用它。什么是取消基于此?我也做过'npm install -g depcheck反应jsx',因为我正在构建这种类型的应用程序,但是如果我使用es6,我是否也包含它?它对它的语法支持意味着什么? – stackjlei

1

如果您使用的是NPM 3,您可能会看到大量模块,因为NPM 3将依赖关系层次结构展平,所以您不希望在node_modules目录中看到大量模块。

无论您使用哪个版本,如果运行npm list命令,NPM应突出显示任何不需要的无关模块。

+0

有没有解开依赖层次结构,所以它只显示我需要什么? – stackjlei

+1

如果您运行'npm list --depth = 0'命令,它应该只列出根级模块。通常,您将添加模块作为您的'package.json'的依赖项,运行'npm install'来安装您添加的任何内容。如果您需要知道您是否实际使用过/需要依赖项,那么像'depcheck'这样的工具就可以顺利完成。 – cartant

0

由于包可能需要其他的包,只是因为有在node_modules文件夹的包不中你packages.json文件存在并不意味着他们不需要通过您指定的包之一。

如果您的解决方案的根目录下运行npm prune命令它将读取依赖关系树和删除,是真正的不再需要的软件包。

相关问题