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

遇到问题:拉公司前端vue代码,但是一直npm install安装报错,最终解决方案是删除了package-lock并用npm删缓存命令后,重新npm i后解决,此处记录下查询为什么package-lock导致我安装依赖报错的原因,感谢大佬「钟渊」

package.json:
1、主要用来定义项目中需要依赖的包,在创建项目的时候会生成。

2、记录项目中所需要的所有模块。当你执行npm install的时候,node会先从package.json文件中读取所有dependencies信息,然后根据dependencies中的信息与node_modules中的模块进行对比,没有的直接下载,已有的检查更新(最新版本的nodejs不会更新,因为有package-lock.json文件,下面再说)。另外,package.json文件只记录你通过npm install方式安装的模块信息,而这些模块所依赖的其他子模块的信息不会记录。

package-lock.json:
1、在 npm install时候生成一份文件,用以记录当前状态下实际安装的各个npm package的具体来源和版本号。

2、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文件中的版本号也会随着更新。

感谢大佬:本文为CSDN博主「钟渊」的原创文章
原文链接:https://blog.csdn.net/u013126379/article/details/102876738

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容