package-lock.json

Posted 人圭立日

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了package-lock.json相关的知识,希望对你有一定的参考价值。

package.json文件只能锁定大版本,也就是版本号的第一位,并不能锁定后面的小版本,所以每次npm install都是拉取的该大版本下的最新的版本,但是为了稳定性考虑我们几乎是不敢这样随意升级依赖包的,这将导致多出来很多工作量,测试/适配等,所以package-lock.json文件出来了,当你每次安装一个依赖的时候就锁定在你安装的这个版本(包括大版本小版本)。

在以前可能就是直接改package.json里面的版本,然后再npm install了,但是5版本后就不支持这样做了,因为版本已经锁定在package-lock.json里了,所以我们只能npm install xxx@x.x.x (表示安装指定版本的安装包,安装完成以后安装包的信息会自动保存到项目的package.json文件,如npm install npm) 这样去更新我们的依赖,然后package-lock.json也能随之更新。

指定版本号
(1)指定版本:比如"classnames": "2.2.5",表示安装2.2.5的版本

(2)波浪号~+指定版本:比如 "babel-plugin-import": "~1.1.0",表示安装1.1.x的最新版本(不低于1.1.0),但是不安装1.2.x,也就是说安装时不改变大版本号和次要版本号

(1)^+指定版本:比如 "antd": "^3.1.4",,表示安装3.1.4及以上的版本,但是不安装4.0.0,也就是说安装时不改变大版本号。 

原文链接:

https://blog.csdn.net/peaceoncemore/java/article/details/79195206

https://www.cnblogs.com/cangqinglang/p/8336754.html

以上是关于package-lock.json的主要内容,如果未能解决你的问题,请参考以下文章

package-lock.json 有啥用?

使用 Git 管理 package.json 和 package-lock.json

package.json和package-lock.json的区别

package-lock.json 的作用是啥?

package.json与package-lock.json的区别

相当于 `pip` 的 `package.json' 和 `package-lock.json`