一尘不染

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

json

不知道为什么会这样。。。一直在谷歌搜索,但我似乎找不到答案。我有2个Mac,在每个Mac上都有一个包含相同package.json文件的文件夹,其中包含20个依赖项的列表。当我在…上运行“
npm install”时

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

计算机2: 安装了大量不同的文件夹-确切地说是561。这些额外的文件夹似乎是我在package.json中列出的主要依赖项的依赖项。

只是好奇为什么会发生这种情况,以及是否有办法控制npm下载和分组依赖项的方式?我感谢计算机下载561个文件夹时使用的整体文件较小,但是在某些情况下,我需要组织分组的依赖项。

谢谢!


阅读 229

收藏
2020-07-27

共1个答案

一尘不染

NPM的最新版本可以进行“更扁平化”的安装,其依赖项嵌套的深度不如早期版本。听起来如果比较NPM版本,则会发现两台计算机上的版本不同。

这是有关旧方法的文章:

npm以一种奇怪的递归方式安装依赖项

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

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

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

2020-07-27