一、知识前提
- version:必须依赖某个具体的版本。如:vue的3.2.0,表示必须安装3.2.0版本。
- >version:必须大于某个版本。
- >=version:大于或等于某个版本。
- <version:必须小于某个版本。
- <=version:小于或等于某个版本
- x-range:x的位置可以为任意版本。
- *-range:任意版本。""也表示任意版本。
- version1 - version2:大于等于version1,小于等于version2。
- range1 || range2:满足range1或者满足range2,可以有多个范围。
- ~version:大概匹配某个版本。
- 如果次版本号(Y)指定了,那么次版本号(Y)不变,而修订号(Z)任意。
- 如果次版本号(Y)和修订号(Z)未指定,那么次版本号(Y)和修订号(Z)任意。
- ^version:向上兼容某个版本。
二、锁定依赖
所有依赖锁定均在 package.json 文件中进行
1、常规依赖锁定
基本在属性 dependencies 和 devDependencies 中进行修改版本进行锁定依赖。
三、锁定依赖的依赖的版本
开发中,一直保留某个node版本开发,偶尔会遇到某个依赖的版本自动下载的时候,他的依赖下载到最新版,要求更高的版本node版本,这时候就需要锁定依赖的依赖的版本。
这里用到属性 resolutions :