NPM安装在计算机之间的行为不同

不知道为什么发生这种情况…谷歌search,但我似乎无法find答案。 我有2个Mac,在他们每个人我有一个文件夹包含相同的package.json文件,其中包含20个依赖项的列表。 当我运行“npm install”时…

计算机1:将所有列出的依赖关系安装在自己的文件夹中 – 总共20个文件夹。

电脑2:安装一吨不同的文件夹 – 确切地说是561。 这些额外的文件夹似乎是我在package.json中列出的主要依赖关系的依赖关系。

只是好奇这是为什么发生,如果有反正如何控制npm下载和组依赖? 我感谢计算机下载561文件夹较小的整体文件大小…但可能有一些情况下,我需要组织的依赖关系。

谢谢!

最新版本的NPM做了一个“平坦”的安装,依赖不像早期版本那么深。 这听起来像是如果你比较NPM版本,你会发现你在两台电脑上有不同的版本。

这是一个关于旧的方式的文章:

npm以奇怪的recursion方式安装依赖关系

而且,更改有关新方法的日志信息:

https://github.com/npm/npm/blob/master/CHANGELOG.md#flat-flat-flat

这样做的主要优点之一是共享(而不是重复)多个父模块使用的模块依赖关系。 在新的平面scheme中,只有一个模块副本在多个地方使用,而不是多个副本。