yarn install
node-14
node_module 目录下
npm run start 没有报错
yarn 分析出所有依赖中有三个版本
比如element-react引用的是1.10.1版本
而 yarn下载在node_module中的是1.12.2
这里有三个版本,其他三个版本呢?
打开本地yarn缓存
他们都被下载下来了
项目中依赖async-validator 的包有三个顶层包
分别是rc-form,rc-field-form,element-react
然后分别看下他们下面的node_modules
element-react下没有node_modules 为什么呢?
在yarn.lock中,1.12.2版本在最上面,是element-react下依赖的版本,在yarn 做版本分析的时候,因为根目录的node_modules 没有 async-validator 这个包,所以它被安排下根目录下
当继续分析道其他版本时,因为根目录下已经有了 这个包,所以他们被分别安排在各自的二级目录
over。然后再回头看看npm 的
npm install
跟目录下的版本是最高版本
看看另外两个依赖的包,是怎么下载的?
需要最高版本的async-validator在根目录下,当前目录没有node_modules
1.11.5版本在二级目录的node_module下
1.12.2版本也在二级目录下
所以可以知道,npm是把高版本的放在根目录,yarn是把低版本的放在根目录