yarn.lock中的integrity
在提交代码时会发现yarn.lock文件有这样的diff,多了一些integrity属性,有时又会删除一些。不明所以,这里就简单梳理下该属性。
作用
确保资源完整性[包版本,内容]
,yarn down下来资源后,用计算出的integrity值与文件中的进行匹配,如果不一致,则安装失败。
integrity值怎么算出来的
一般是哈希值的生成算法=》base64编码
为什么不是每个包都有?
理论上每个包都应该有
v1.9.4
这里我复现下当时问题,删除lock文件,重新执行yarn install,发现包还是没有integrity参数
v1.22.4
当我升级到该版本,重试,发现每个包都有integrity参数了
结论
版本BUG,所以建议直接升级即可。