package.json.lock: 由于^的向后兼容的特性,在package.json里面是^8.1.3, 但是在执行npm install的时候,在保证大的版本号不变的情况下下载的可能是8.1.5版本,这个时候node_modules中存放的就是这个版本的模块。
【nodejs|package.json.lock 文件】npm 包有一个规则就是同一个大版本号的包的接口符合兼容的要求,所以可以下载比现在版本号大的版本进行安装。但是npm包的世界实在太大,所以总会有一些包不遵守这个接口兼容的规则,所以就会使得有些时候npm install后会出现程序无法运行的问题。(比如程序移植到别的电脑上,别人pull了代码后执行npm install)
这个时候package.json.lock就起作用了,在node_modules,package.json发生改变时会生成该文件,将会记录下载的到底是模块的哪一个包,然后如果代码移植后不能正常运行,只需要找到该文件中记录的包的具体的版本进行安装就可以解决包的版本带来的问题
官方文档:在node_modules或者在package.json发生改变的时候会产生成该文件。
package-lock.json is automatically generated for any operations where npm modifies either the node_modules tree, or package.json. It describes the exact tree that was generated, such that subsequent installs are able to generate identical trees, regardless of intermediate dependency updates.附录:
>version Compatible with version
version Must match version exactly
>version Must be greater than version
>=version etc
1.2.x 1.2.0, 1.2.1, etc., but not 1.3.0
参考文档:
https://docs.npmjs.com/files/package-lock.json
https://www.zhihu.com/question/62331583/answer/197691747
推荐阅读
- 设置npm源为淘宝镜像
- package-lock.json的作用
- Node.js时间戳和日期互相转换
- vue|vue 自定义轮播组件_针对Vue优化的可自定义轮播滑块
- websocket|android中如何使用websocket,以及用nodejs做后台的实例
- 服务器|npm添加淘宝镜像
- javascript|使用vue实现自己音乐播放器仿网易云 移动端 (audio、播放、暂停、上一首、下一首、展示评论、音量控制、进度条拖拽)
- javascript|TODO-4(nodejs 实现一部漫画爬取)
- npm|npm安装报错ETIMEOUT