为什么yarn install下载node_modules以获得依赖关系?

问题描述

我有一个节点投影,它具有一个依赖性,比方说depA。在项目上运行yarn install后,它会下载depAnode_modules/depA/node_modules的所有依赖项,这会使node_modules目录很大。它不会下载该文件夹的其他依赖项。有什么我应该看看为什么它会发生在depA上吗?

解决方法

它是如何在node.js中安装依赖项的,创建了一个名为node_modules的文件夹,然后从npm服务器中提取并下载package.json中提到的所有依赖项。

现在转过来,说在package.json中只有依赖项depA。但是库depA内部依赖于depSubA,depSubB,那么这2个库也将被下载,以便depA可以正常工作。

在以前版本的npm(我猜是5之前)中,node_modules内以前有子文件夹,这些子文件夹具有独立的依赖关系,从而形成重复和巨大文件夹的机会,最新版本现在共享这些常见的依赖关系。

检查更多详细信息https://docs.npmjs.com/configuring-npm/folders.html