在开发过程中,有时候我们需要对一些依赖的版本进行控制,那我们必须看懂 package.json 里面依赖的版本
这些有的是 ^ 的前缀,有的是 ~ 的前缀,有些又没有前缀...
~ 匹配最近的小版本依赖包,比如 ~1.2.3 会匹配所有 1.2.x 版本,也就是 1.2 版本的,但是不包括 1.3.x 和 1.1.x
^ 匹配最新的大版本依赖包,比如 ^1.2.3 会匹配所有 1.x.x 的包,就是大版本为 1 的,包括 1.3.x,1.1.x,1.2.x.... , 但是不包括 2.0.0
* 意味着安装最新版本的依赖包
没有前缀的代表就是固定的版本
例如:
'2.1.1' 表示安装指定的版本号,也就是安装2.1.1版本。
'~2.1.1' 表示安装2.1.x的最新版本,安装时不会改变大版本号和次要版本号。
'^2.1.1' 表示安装2.x.x的最新版本,安装时不会改变大版本号。
安装 指定的版本的 依赖,只需要在其后加 @版本号
例如:
npm install name@0.102.1
创建项目时,有一个 package-lock.json 文件会帮助我们自动锁定版本号,所以基本不会出现版本混乱,只是我们自己需要去改变一些依赖版本的时候需要掌握这些