【问题标题】:Node installs loads of modulesNode 安装大量模块
【发布时间】:2016-04-10 10:30:46
【问题描述】:
我正在尝试为我的应用程序安装一些节点模块。
现在输入此命令后:npm install laravel-elixir 它会创建一个文件夹node_modules并安装超过一百个模块!这不可能。
我将如何解决这个问题?
【问题讨论】:
标签:
node.js
npm
laravel-elixir
【解决方案1】:
我该如何解决这个问题?
从头开始编写您自己的代码。
真的,能做的很少。大型依赖树在 Node.js 中非常很常见。很多模块都是建立在其他模块的基础上的。有问题的模块是一个特别大的软件,它试图做很多看起来不同的事情,并依赖许多其他模块来完成。
你可以试试
$ npm install laravel-elixir --no-optional
看看你是否可以从树中修剪一些可选的依赖项。另一种方法是将optional=false 添加到您的.npmrc。
在我简短且不科学的测试中,这似乎从树中删除了大约六个依赖项。不多。
您还应该确保您已更新到 npm 3.0(3.8.6 是最新的),因为它比 flattening dependencies 做得更好。
有时树的中间有不必要的依赖,在这种情况下,除了联系维护者,看看这些依赖是否可以删除,你无能为力,但是所有下游包都会需要更新。
这通常被称为依赖地狱,这是某些模块依赖过多子模块的不幸症状。
但实际上,如果这个模块完成了您需要它做的事情,并且安装了许多依赖项也不会产生不良影响,那么 真的 重要吗?除了安装时间,在使用模块时,你能看出它在拉很多其他模块吗?