yarn相关梳理

yarn的包遵守 semver,即语义化版本。定义的格式为 X.Y.Z


X.主版本号:进行不向下兼容的修改时,递增主版本号
Y.次版本号: 做了向下兼容的新增功能或修改
Z.修订号:做了向下兼容的问题修改



yarn 中依赖版本范围的表示方法有以下几种:


1、通过比较器 > 2.0.0

2、通过连字符 2.0.0 - 3.1.4

3、范围 * ,2.x

4、~字符范围 ~3.1.4 表示大于等于3.1.4的版本 小于3.2.0的版本

5、^字符范围 字符 ^ 表明不会修改版本号中的第一个非零数字,版本号中缺少的部分将被 0 填充,且在匹配时这些位置允许改变。 ^3.1.4表示大于等于3.1.4的版本 小于4.0.0的版本



yarn会将安装过的包缓存下来,再次安装同样包的时候,不需要去下载,而是直接从缓存文件中拷贝,查看yarn缓存目录命令 :yarn cache dir


yarn的安装过程:


1、版本号匹配,会根据 yarn.lock 中的 resolved 字段去查看缓存, 如果有缓存,直接copy,没有缓存则按照 resolved 字段的url去下载包。


2、版本号不匹配,根据 package.json 中的版本范围去 registry 查询,下载符合版本规则最新的包,并更新至 yarn.lock 中。


yarn强制安装:yarn add --force




参考:https://juejin.im/post/5da9c6b0e51d4524d67486e2

确认 取消