Node.js 入门教程 19 package-lock.json 文件

news2025/1/20 3:45:02

Node.js 入门教程

Node.js官方入门教程

Node.js中文网

本文仅用于学习记录,不存在任何商业用途,如侵删

文章目录

      • Node.js 入门教程
      • 19 package-lock.json 文件
        • 19.1 示例

19 package-lock.json 文件

在这里插入图片描述

在版本 5 中,npm 引入了 package-lock.json 文件。

那是什么?您可能知道 package.json 文件,它更常见并且存在的时间更长。

该文件旨在跟踪被安装的每个软件包的确切版本,以便产品可以以相同的方式被 100% 复制(即使软件包的维护者更新了软件包)。

这解决了 package.json 一直尚未解决的特殊问题。

在 package.json 中,可以使用 semver 表示法设置要升级到的版本(补丁版本或次版本),例如:

  • 如果写入的是 〜0.13.0,则只更新补丁版本:即 0.13.1 可以,但 0.14.0 不可以。
  • 如果写入的是 ^0.13.0,则要更新补丁版本和次版本:即 0.13.10.14.0、依此类推。
  • 如果写入的是 0.13.0,则始终使用确切的版本。

无需将 node_modules 文件夹(该文件夹通常很大)提交到 Git,当尝试使用 npm install 命令在另一台机器上复制项目时,如果指定了 语法并且软件包发布了补丁版本,则该软件包会被安装。 ^ 和次版本也一样。【原来如此】

如果指定确切的版本,例如示例中的 0.13.0,则不会受到此问题的影响。

可能是你,或者是其他人,会在某处尝试通过运行 npm install 初始化项目。

因此,原始的项目和新初始化的项目实际上是不同的。 即使补丁版本或次版本不应该引入重大的更改,但还是可能引入缺陷。

package-lock.json 会固化当前安装的每个软件包的版本,当运行 npm install时,npm 会使用这些确切的版本。

这个概念并不新鲜,其他编程语言的软件包管理器(例如 PHP 中的 Composer)使用类似的系统已有多年。

package-lock.json 文件需要被提交到 Git 仓库,以便被其他人获取(如果项目是公开的或有合作者,或者将 Git 作为部署源)。

当运行 npm update 时,package-lock.json 文件中的依赖的版本会被更新。

19.1 示例

在空文件夹中运行 npm install cowsay 时获得的 package-lock.json 文件的示例结构:

在这里插入图片描述

在这里插入图片描述

安装 cowsay,其依赖于:

  • get-stdin
  • optimist
  • string-width
  • strip-eof

在这里插入图片描述

这些软件包还需要其他软件包,正如从 require 属性可以看到的:

  • ansi-regex
  • is-fullwidth-code-point
  • minimist
  • wordwrap
  • strip-eof

在这里插入图片描述

它们会按字母顺序被添加到文件中,每个都有 version 字段、指向软件包位置的 resolved 字段、以及用于校验软件包的 integrity 字符串。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/44086.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

BUUCTF Reverse/[2019红帽杯]xx

BUUCTF Reverse/[2019红帽杯]xx 先看下文件信息:没有加壳、64位程序 看别人wp时候发现个好东东,就是这个findcrypt插件,可以看加密算法的,具体安装可以看这个IDA7.5安装findcrypt3插件 可以看到这是tea加密 先一点点分析代码,输入…

48.标准输入输出流

标准输入流对象cin,重点掌握的函数: 1.cin.get() //一次只能读取一个字符 2.cin.get(一个参数) //读一个字符 3.cin.get(两个参数) //可以读字符串 这种情况下不会读取换行符,换行符始终留在缓冲区当中 4.cin.getline() 此函数在读取数据的…

跳出打工圈!程序员要如何走上创业逆袭路,获得财富自由

前言 采访了一位创业人物,创业即是人生,生命精彩待续 人生的每一种经历都是一门功课,我们无法跳跃过去,所以必须要逐个地去完成它。无论遇到什么样的困难,自己想通了、走出来了,才会有不一样的自己。 大…

rt-thread通过spi连接W25Q32后无法读取ID

注意,cs引脚必须由rtt控制,但是我这个cs引脚用的是PA15,它默认是jlink的引脚,所以首先要将jlink禁用,如下: rcu_periph_clock_enable(RCU_AF);rcu_periph_clock_enable(RCU_GPIOA);rcu_periph_clock_enable…

开课通知 | 《AISHELL-3语音合成实战》课程

语音合成技术 在多个智能语音技术的学习方向中,语音合成又称文本转换(Text To Speech, 简称TTS)即将文字信息转换成为人类可以听得懂、流利的语音技术。在人机语音交互系统中,语音合成作为最后机器将内容转化为语音的输出环节&…

线程可重复使用,程序开发是如何使用线程池的呢?

大家都知道多线程开发对于程序开发的重要性,今天大连九哥来给大家聊一聊线程池的使用过程。 一、为什么要使用线程池? 大家都知道java支持多线程开发,也就是支持多个任务并行运行,我们也知道线程的生命周期中包括创建、就绪、运…

maltose-Transferrin 麦芽糖-转铁蛋白

maltose-Transferrin 麦芽糖-转铁蛋白 中文名称:麦芽糖-转铁蛋白 英文名称:maltose-Transferrin 别称:转铁蛋白修饰麦芽糖,Tf-麦芽糖 可以提供PEG接枝修饰麦芽糖,麦芽糖-聚乙二醇-转铁蛋白,Transferrin-PEG-maltos…

17.Http__Linux

目录 1.为什么要学Linux 2.我们要学什么 3.Linux命令操作 1.常用快捷键: 2.文件的操作 4.管道pipe 5.重定向redirect 5.查看系统指标(任务管理器) 7.安装软件(maven、包) 8.部署博客系统 1.首先对tomcat进行安装和调配 HTTPS:出现…

山西青年杂志山西青年杂志社山西青年编辑部2022年第22期目录

本刊专稿《山西青年》投稿:cn7kantougao163.com 基于学生激励机制的考核方案研究 聂晶晶; 1-4 当前我国大学生网络心理障碍分析及引导机制研究 陈宁;王佳玮; 5-8 教育教学研究 百万扩招背景下高职院校“三教”改革探究 郭庆秋; 9-11 “百万扩招”背…

linux统计目录文件数量

1、当前文件夹及子文件夹的数量: ls -lR | grep "^d" | wc -l 2、当前文件及子目录文件夹的数量: ls -lR | grep "^-" | wc -l 3、当前目录某文件的数量: find . -name filename | wc -l 4、当前目录所有目录和文件罗…

SpringCloud服务治理介绍Nacos安装及实现负载均衡

目录 一、服务治理简介 二、nacos简介 三、nacos下载&安装 四、nacos实现负载均衡 一、服务治理简介 通过上一章的操作,我们已经可以实现微服务之间的调用。但是我们把服务提供者的网络地址 (ip,端口)等硬编码到了代码中…

基于PHP+MySQL大连真爱果汁厂管理系统的设计与实现

果汁是以水果为原料经过物理方法如压榨、离心、萃取等得到的汁液产品。长期的饮用果汁不仅可以让我们大饱口福而且能够增加免疫力,减少生病,延缓衰老,甚至一些果汁还有美容养颜的功效,果汁中富含多种矿物质和有机酸为此深受各类人群的喜欢,随着人们健康意识的增加,人们对果汁的…

双十二投影仪推荐 三分钟告诉你怎么挑选到称心如意的投影仪

作为家庭沉浸式观影的必备神器,投影仪越来越受大众的喜爱,今天就让我们一起来看看双十二投影仪推荐,双十二高性价比投影仪选购指南,双十二卧室投影怎么选?2022双十二热门投影仪推荐,这8款投影仪总有一款适合…

华为云会议,轻松实现远程智能办公

说到云会议,很多人首先想到的应该就是华为云会议!华为云会议基于华为近30年的音视频技术,结合华为IdeaHub等全系列智能协作终端,为客户提供全场景端云协同视频会议解决方案,满足跨地区、跨企业、跨终端的智能沟通协作需…

聚L-精氨酸/纳米金/石墨烯/聚苯胺复合膜/铝粉/稀土粒子修饰多巴胺的制备

小编这里给大家分享的科研内容是聚L-精氨酸/纳米金/石墨烯/聚苯胺复合膜/铝粉/稀土粒子修饰多巴胺的制备,和小编一起来看! 聚L-精氨酸/纳米金修饰多巴胺的制备: 利用多电位脉冲沉积法制备纳米金修饰电极 (AuNPs/GCE),再将L-精氨酸电聚合在AuNPs/GCE表面…

Kotlin高仿微信-项目实践58篇

Kotlin高仿微信项目实践主要包含5大模块: 1、Web服务器 2、Kotlin客户端 3、Xmpp即时通讯服务器 4、视频通话服务器 5、腾讯云服务器 另外也有Flutter版本高仿微信功能,Flutter版本跟Kotlin同时开发,调用的是同一个服务器接口。 每天只…

【原创】关于表结构更改的大量数据的迁移方案

前言 由于公司要求做产品之间的对接,需要统一表结构和字段名,但是有些表有上亿条数据,如果直接修改表字段名和加字段每一条SQL都要执行大量时间,大概时间为加一个字段1.5小时/1亿条数据,这耗时实在太长了,…

GitHub价值1w的Java最新面试宝典(附答案解析)被我弄到手了

为了能够帮助更多Java岗位同学就业,小编淘来了GitHub上最新Java面试宝典,本套题库均来自海量真实校招面试题目大数据进行的整理,学完这个题库,把此题库都理解透彻应对各家企业面试完全没有问题。(当然要加上好的项目以…

Hosmer-Lemeshow检验(HL检验)

Hosmer-Lemeshow检验(HL检验)为模型拟合指标,其原理在于判断预测值与真实值之间的gap情况,如果p值大于0.05,则说明通过HL检验,即说明预测值与真实值之间并无非常明显的差异。反之如果p值小于0.05&#xff0…

操作系统:处理机调度与死锁 练习题(带有解析和答案)

文章目录1.处理机调度的层次和调度算法的目标1.1.处理机调度的层次1.2.处理机调度算法的目标求解周转时间和带权周转时间例题2.作业与作业调度2.1.批处理系统中的作业2.2.作业调度的主要任务2.3.先来先服务和短作业优先调度算法2.4.优先级调度算法和高响应比调度算法3.进程调度…