不知道为什么会发生这种情况...一直在谷歌搜索,但我似乎找不到答案。我有 2 台 Mac,每台都有一个包含相同 package.json 文件的文件夹,其中包含 20 个依赖项的列表。当我运行“npm install”时...
计算机 1:在自己的文件夹中安装所有列出的依赖项 - 总共 20 个文件夹。
计算机 2: 安装了大量不同的文件夹 - 确切地说是 561 个。这些额外的文件夹似乎是我在 package.json 中列出的主要依赖项的依赖项。
只是好奇为什么会发生这种情况,以及是否有办法控制 npm 如何下载和分组依赖项?我很欣赏下载 561 个文件夹的计算机的整体文件大小较小...但在某些情况下,我可能需要组织分组的依赖项。
谢谢!
最佳答案
最新版本的 NPM 进行了“更扁平”的安装,其依赖关系不像早期版本那样嵌套得那么深。听起来如果你比较 NPM 版本,你会发现两台计算机上的版本不同。
这是一篇关于旧方法的文章:
npm is installing dependencies in a weird recursive way
并且,更改有关新方式的日志信息:
https://github.com/npm/npm/blob/master/CHANGELOG.md#flat-flat-flat
这样做的主要优点之一是共享(而不是重复)多个父模块使用的模块依赖项。在新的扁平化方案中,模块只有一份副本用于多个地方,而不是许多副本。
关于json - NPM 安装在计算机之间的行为不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33601989/