如何创build新的应用程序项目,而无需一次又一次下载和安装npm模块?

我用-g安装了大部分的NPM模块

但是,我发现每当使用Yeoman创build一个新的应用程序项目(例如:angular project)时,我都会看到npm模块会再次下载并安装在本地node_modules文件夹中。

我认为这是非常浪费,相同的模块下载并复制每个新的项目。 每个新项目的大小都在160MB左右。

有没有办法只在本地下载新项目中的全局npm node_modules文件夹中没有的模块? 无论如何,要自动创build从本地node_modules文件夹到全局安装的npm模块的符号链接?

这可能吗? 如何设置?

这实际上是通过devise。 从Node.js博客 :

一般来说,经验法则是:

1.如果你正在安装你想要在你的程序中使用的东西,使用require('whatever'),然后在你的项目的根目录本地安装它。

2.如果你正在安装你想在你的shell中使用的东西,在命令行或者其他地方安装,那么它的二进制文件就会在你的PATH环境variables中。

在本地安装项目依赖关系非常重要,因为您不能保证在您的机器上全局安装的部署可能在部署机器上可用。 诚然,你可以pipe理两台机器,或者他们可能是同一台机器,但这种情况是不能保证的。

另外,您也可能有一些项目依赖于某个npm的特定版本,您可能已经在全球范围内安装了一个更新,打破了需要较早版本的项目。 隔离是保持项目function的关键。

如果您真的只需要维护一个副本,则可以使用符号链接。 npm link globalnpm

在全局安装它,然后npm链接coffee-script或npm链接expression式(如果你在一个支持符号链接的平台上)。那么你只需要更新全局副本来更新所有的符号链接。

请注意,符号链接选项实际上只与手动初始化的项目有关; 像Yeoman这样的发电机将总是使用当地的,因为他们跟随谷物。

有解决方法,但这是故意避免相当于DLL地狱或专门库版本不匹配崩溃。 除了160MB是一个微不足道的奢侈价格。 作为一个善良的单位,离散function包更好,相信我