[web 前端] Npm package.json与package-lock.json文件的作用
本文链接:https://blog.csdn.net/u013992330/article/details/81110018
最新版nodejs中,多了一个package-lock.json文件,刚开始对这个文件很是疑惑,后来查了一番资料后,通过验证,终于确定了这两个文件的关系。
package.json文件记录你项目中所需要的所有模块。当你执行npm install的时候,node会先从package.json文件中读取所有dependencies信息,然后根据dependencies中的信息与node_modules中的模块进行对比,没有的直接下载,已有的检查更新(最新版本的nodejs不会更新,因为有package-lock.json文件,下面再说)。另外,package.json文件只记录你通过npm install方式安装的模块信息,而这些模块所依赖的其他子模块的信息不会记录。
package-lock.json文件锁定所有模块的版本号,包括主模块和所有依赖子模块。当你执行npm install的时候,node从package.json文件读取模块名称,从package-lock.json文件中获取版本号,然后进行下载或者更新。
因此,正因为有了package-lock.json文件锁定版本号,所以当你执行npm install的时候,node不会自动更新package.json文件中的模块,必须用npm install packagename(自动更新小版本号)或者npm install packagename@x.x.x(指定版本号)来进行安装才会更新,package-lock.json文件中的版本号也会随着更新。
附:当package.json与package-lock.json都不存在,执行"npm install"时,node会重新生成package-lock.json文件,然后把node_modules中的模块信息全部记入package-lock.json文件,但不会生成package.json文件,此时,你可以通过"npm init --yes"来生成package.json文件
---------------------
版权声明:本文为CSDN博主「password-u」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013992330/article/details/81110018
相关文章
- vscode新建html文件并快速生成标准的html代码_vscode怎么开始写代码
- Excel: 通过VBA代码打开ppt文件
- mysql密码更改_mysql初始密码在哪个文件
- vue上传文件夹和文件_vue打包后的文件如何运行
- Webpack中压缩代码文件
- vue : 无法加载文件 C:UsersAdministratorAppDataRoamingnpmvue.ps1,因为在此系统上禁止运行脚本
- GIS常用npm包:GeoJSON文件合并与元素过滤属性过滤图形合并
- vue : 无法加载文件 C:UsersxuhuichenAppDataRoamingnpmvue.ps1
- Linux解包神器:一键轻松解开所有文件(linux解包工具下载)
- Linux远程共享目录:实现远程文件交换(linux远程共享目录)
- 选项Linux ln f 选项:覆盖建立文件链接的利器(linuxln-f)
- 构建Linux服务器:以SSH远程方式进行文件复制(linuxcpssh)
- MySQL的文件上传限制 如何控制文件大小和类型(mysql 上传文件限制)
- asp利用fso给文件夹和文件改名的代码
- .NET读取所有目录下文件正则匹配文本电子邮件
- JAVA遍历一个文件夹中的所有文件的小例子