当前位置:网站首页>package.json与package-lock.json
package.json与package-lock.json
2022-08-02 12:18:00 【m0_67400972】
package.json
记录当前项目所依赖模块的版本信息,更新模块时锁定模块的大版本号(版本号的第一位),不能锁定后面的小版本,
package-lock.json
package-lock.json 是在 `npm install`时候生成一份文件。记录了node_modules目录下所有模块(包)的名称、版本号、下载地址、及这个模块又依赖了哪些依赖。
两者区别:
npm5以前
npm5以前,没有package-lock.json这个文件。package.json文件会记录你项目中所需要的所有模块。当你执行npm install的时候,node会先从package.json文件中读取所有dependencies信息,然后根据dependencies中的信息与node_modules中的模块进行对比,没有的直接下载,已有的检查更新。
因为package.json只能锁定模块的大版本号(版本号的第一位),不能锁定后面的小版本,所以你每次重新npminstall时候拉取的都是该大版本下面最新的版本。一般我们为了稳定性考虑我们不能随意升级依赖包,因为如果换包导致兼容性bug出现很难排查,这样很容易出现问题,所以package-lock.json就是来解决包锁定不升级问题的
另外,package.json文件只记录你通过npm install方式安装的模块信息,而这些模块所依赖的其他子模块的信息不会记录。
npm5以后
package-lock.json文件锁定所有模块的版本号,包括主模块和所有依赖子模块。当你执行npm install的时候,node从package.json文件读取模块名称,从package-lock.json文件中获取版本号,然后进行下载或者更新。
因此,正因为有了package-lock.json文件锁定版本号,所以当你执行npm install的时候,node不会自动更新package.json文件中的模块,必须用npm install [email protected](指定版本号)来进行安装才会更新,package-lock.json文件中的版本号也会随着更新。
package-lock.json的作用
如果重新 npm install 的时候以及当node_modules文件夹并不存在或被删除时,需要用到npm install重新装载全部依赖时,通过package-lock.json可以直接表明下载地址和相关依赖,就无需再从package.json逐个分析包的依赖项,因此会大大加快安装速度,package-lock.json目的就是确保所有库包与你上次安装的完全一样。
如果要升级package-lock.json里面的库包
npminstall [email protected]
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
猜你喜欢
免费文档翻译-免费批量文档翻译软件推荐
自己如何做小程序呢?
Distributed current limiting, hand & redisson implementation
Thymeleaf
CCF paper conference IEEE how to query all articles of a conference journal
基于深度学习的裂缝检测技术
Create an application operation process using the kubesphere GUI
MD5 detailed explanation (check file integrity)
【The 6th Strong Net Cup CTF-Wp】
数据湖(二):什么是Hudi
随机推荐
Do you really understand the business process service BPass?
借小程序容器打造自有App小程序生态
Likou 704 - binary search
CCF paper conference IEEE how to query all articles of a conference journal
Leek 151 - Reverse words in a string
Likou 58 - Left Rotation String
第十四章 手动创建 REST 服务(二)
数据湖(三):Hudi概念术语
np.nan, np.isnan, None, pd.isnull, pd.isna finishing and summary
np.nan, np.isnan, None, pd.isnull, pd.isna 整理与小结
数据湖(二):什么是Hudi
Lexicon 27 - Remove Elements - Simple Questions
【The 6th Strong Net Cup CTF-Wp】
NVIDIA NeMo Metrics 轻量性能采集系统
Crack detection technology based on deep learning
【MySQL系列】- LIKE查询 以%开头一定会让索引失效吗
kvm部署
干测试这些年,去过阿里也去过小公司,给年轻测试员们一个忠告...
基础协议讲解
软件成分分析:手握5大能力守护软件供应链安全