package-lock.json文件的作用 作者:马育民 • 2025-01-08 22:34 • 阅读:10003 ## package-lock.json文件的主要内容 `package-lock.json` 文件会保存 `node_modules` 中所有包的信息,包括: - **精确版本 version** - **下载依赖的地址**(如:淘宝镜像会写死在该文件中) - 依赖关系 dependencies - 完整性哈希 如下图: ![](https://www.malaoshi.top/upload/0/0/1GWN23qBRhj.png) 用以记录当前状态下实际安装的各个模块的具体来源和版本号。这样 `npm install` 时速度就会提升。 ## 为什么需要package-lock.json文件 当项目中已有 `package-lock.json` 文件,在安装项目依赖时,将以该文件为主进行解析安装指定版本依赖包,而不是使用 `package.json` 来解析和安装模块。 因为 `package.json` 指定的 **版本不够具体**,而 `package-lock.json` 为 **每个模块及其每个依赖项指定了版本**,位置和完整性哈希,所以 **每次的安装都是相同的**。 ## package-lock.json 文件作用 有以下两点: 1. 当删除 `node_module` 目录时,想通过 `npm install` 恢复所有包时,提升下载速度。 2. **锁定版本号**,防止自动升级新版本。 正因为有了 `package-lock.json` 文件锁定版本号,所以当你执行 `npm install` 的时候,node 不会自动更新 `package.json` 文件中的模块,必须用 `npm install packagename(自动更新小版本号)` 或者 `npm install packagename@x.x.x(指定版本号)` 来进行安装才会更新,`package-lock.json` 文件中的版本号也会随着更新。 ## 生成 package-lock.json ``` npm install --package-lock-only ``` 参考: https://blog.csdn.net/m0_73531461/article/details/136399322 原文出处:http://malaoshi.top/show_1GWN27oxThq.html