npm语义化版本和版本运算符

版本号组成

一个完整的版本号,由三部分组成:主版本号(major)、次版本号(minor)、修订版本号(patch),简称X.Y.Z,具体含义:

  • 主版本号(major):项目(包)做了大量的变更,与旧的版本存在一定的不兼容性等问题。
  • 次版本号(minor):做了少量的变更或向下做了兼容。
  • 修订版本号(patch):修复上一个版本的bug或向下做兼容。

版本运算符

版本运算符一般是指定一定范围的版本号,主要有~、-、^、<、>等。

接受升级修订版本号 ~

假设您允许针对特定组件的单一次级版本应用一系列补丁(第三位版本号)。在这种情况下,应使用波浪号 ( ~ ) 字符。

"bar-a": ~2.1.4,
这指示 npm :"对于包 bar-a ,从 2.1.4 到下一功能部件发行版(可能是 2.2.0 )之间的任何 近似 发行版均可接受。"换言之, 2.1.5 可以接受( 2.1.6 、 2.1.7 等也可接受)但 2.2.0 不可接受。

如果您愿意接受错误修订(补丁)但不希望 npm 自动升级到新功能部件发行版,可使用此命令。

接受升级次版本号 ^

如果可以容忍主发行版中的错误修订 和 次级功能部件发行版(第二三位版本号),可使用插入符号 ( ^ ) 字符。

"baz-a": ^1.2.5
这指示 npm :“对于包 baz-a ,从 1.2.5 到下一主发行版(可能是 2.0.0 )之间的任何 兼容 发行版均可接受。”

在这种情况下, npm 可自动将 baz-a 更新到 1.2.6 或 1.3.0(更新了次版本号),但不会更新到 2.0.0 。

这也是npm默认的规则,打开项目中的package.json文件,这也是最常见的版本运算符。
在这里插入图片描述

semver计算器

我们可以使用semver计算器来直接列出对应规则的所有版本列表。

标签

我们经常看到一些库的版本会带 alpha、beta 之类的字样,就以 Vue 为例,有 3.0.0-alpha.13、3.0.0-beta.1、3.0.0-rc.1,这些表示什么意思呢?

  1. alpha: 表示内部测试版,主要给开发和测试找 bug 用,不建议用户下载 beta 表示公开测试版。
  2. beta: 该版本相对于Alpha版已有了很大的改进,消除了严重的错误,但还是存在着一缺陷,需要经过多次测试来进一步消除。这个阶段的版本会一直加入新的功能。
  3. rc: 可以提前尝试一些功能 rc 是 Release Candidate(候选版本)的缩写,表示该版本功能不再增加,和最终发布版功能一样,有点像预览版,然后可能再改改一些小 bug,就会到正式的版本了。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

环境搭建---单机k8s

配置基础环境 关闭防火墙 [rootVM-20-14-centos ~]# systemctl stop firewalld && systemctl disable firewalld关闭selinux [rootVM-20-14-centos ~]# setenforce 0 && sed -i "s/SELINUXenforcing/SELINUXdisabled/g" /etc/selinux/config禁止s…

【Java】已解决java.lang.NullPointerException异常

文章目录 一、问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决java.lang.NullPointerException异常 一、问题背景 在Java编程中&#xff0c;java.lang.NullPointerException&#xff08;空指针异常&#xff09;是一种常见的运行时异常。当应…

封装音视频编解码和渲染的动态链接库编译和测试

1.动态链接库的编译 生成了以下几个文件 我们把生成的lib文件复制到lib文件夹中 其余三个文件不变动 2.进行测试看是否可以用生成的xcodec.lib库文件里的接口函数 以上是重新创建的新项目&#xff0c;导入了xcodec.lib&#xff0c;其他配置同以前项目 库测试结果 运行显示我们…

【Linux环境下Hadoop部署】— 报错“bash: myhadoop.sh: command not found“

项目场景&#xff1a; 执行 “myhadoop.sh stop” 命令。 问题描述 bash: myhadoop.sh: command not found 原因分析&#xff1a; 查看我们的系统配置&#xff0c;发现没有myhadoop.sh文件存放的路径。 解决方案&#xff1a; 1、执行 “sudo vim /etc/profile” 命令&#xff…

不入耳的蓝牙耳机平价推荐,五大爆款分析测评

开放式耳机在如今社会中已经迅速成为大家购买耳机的新趋势。它作为骨传导耳机&#xff0c;深受用户的喜爱&#xff0c;不仅可以随时感知周围环境&#xff0c;还提供了高质量的音效体验&#xff0c;对于热爱运动的人士而言&#xff0c;高品质的骨传导耳机无疑是首选。同时&#…

看完轻松解决家里灰尘毛絮多难题?除粉尘的空气净化器品牌分享

家里的空气中弥漫着灰尘和毛絮&#xff0c;让人呼吸不畅&#xff0c;也影响着家人的健康。灰尘中含有各种有害物质&#xff0c;如细菌、病毒、花粉等&#xff0c;长期吸入会导致呼吸道疾病、皮肤过敏等问题。尤其是对于有宠物、孩子、过敏人群来说&#xff0c;空气质量更是至关…

【Linux】进程间通信3——system V共享内存

1.system V进程间通信 管道通信本质是基于文件的&#xff0c;也就是说操作系统并没有为此做过多的设计工作&#xff0c;而system V IPC是操作系统特地设计的一种通信方式。但是不管怎么样&#xff0c;它们的本质都是一样的&#xff0c;都是在想尽办法让不同的进程看到同一份由操…

鸿蒙实现自定义Tabbar样式,显示数字红点提示

前言&#xff1a; DevEco Studio版本&#xff1a;4.0.0.600 Tabs的链接参考&#xff1a;OpenHarmony Tabs TabContent的链接参考&#xff1a;OpenHarmony TabContent 通过查看链接参考我们知道可以通过TabContent的tabBar来实现自定义TabBar样式&#xff08;CustomBuilder&…

SAP ABAP开发:如何读取物料主数据中的长文本?

在SAP ERP系统中&#xff0c;物料的基本描述可存储40个字符&#xff0c;见下图&#xff1a; 但长文本信息如何从系统中读取呢&#xff1f; 在SAP ABAP开发中&#xff0c;读取物料主数据&#xff08;Material Master Data&#xff09;中的基本视图&#xff08;Basic View&#…

UNetMultiLane 多车道线、车道线类型识别【训练+部署】

基于UNet 分割模型增加了检测头来识别车道线的类型&#xff08;单实线、双黄线等10种&#xff09;&#xff0c;同时可以识别出"所在车道"和"车道线类型"。 训练代码【训练练手代码】 1 数据说明 基于开源数据集 VIL100。其中数据标注了所在的六个车道的车…

《python程序语言设计》2018版第5章第49题l利用turtle绘制乘法口诀表,结果放在最后

2024.06.09 05.49.01version 2024.06.10 05.49.02 经历了一天的奔波&#xff0c;发了两篇博客 开始来到这道题。已经22点了 turtle.penup() turtle.goto(-80, 0) turtle.pendown() turtle.write("Multiplication Table\n", font("", 18, "")) t…

005-OSPF基本配置

OSPF基本配置 OSPF (Open Shortest Path First) 是一种链路状态路由协议&#xff0c;它属于内部网关协议&#xff08;IGP&#xff09;类别&#xff0c;用于在自治系统&#xff08;AS&#xff09;内部路由 IP 数据包。OSPF 通过使用 Dijkstra 算法计算最短路径树来确定到达每个…

SpringBoot + thymeleaf 修改文件,刷新页面不能实时展示修改后的内容问题解决

修改页面后文件后&#xff0c;刷新页面&#xff0c;内容不变&#xff0c;是因为项目没有编译&#xff0c;没有将新的页面文件编译&#xff0c;以下方法可以完美解决次问题 具体内容请查看&#xff1a;http://www.haozgx.top/blog/article/2

三星S20以上手机中的动态相片及其分解

三星S20以后的相机&#xff0c;相机拍出来的图片&#xff0c;用三星手机自带的“相册”打开之后&#xff0c;还会有“查看动态照片”的选项&#xff0c;点击之后就能查看拍照片时前后2秒左右的视频&#xff01; 不知道这个功能是不是三星独有的。 这样得到的图片非常大。因为…

Netty中Reactor线程的运行逻辑

Netty中的Reactor线程主要干三件事情&#xff1a; 轮询注册在Reactor上的所有Channel感兴趣的IO就绪事件。 处理Channel上的IO就绪事件。 执行Netty中的异步任务。 正是这三个部分组成了Reactor的运行框架&#xff0c;那么我们现在来看下这个运行框架具体是怎么运转的~~ 这…

mysql8.x安装教程,window版本

mysql8.x安装教程&#xff0c;window版本 1. 安装步骤 1. 安装步骤 下载暗安装包&#xff0c;https://dev.mysql.com/downloads/file/?id528489 双击安装包&#xff0c;然后按照下述步骤操作 选择custom&#xff0c;然后点击next 如图选中&#xff0c;mysql server和mysq…

【一生一芯】chisel学习

香山处理器敏捷开发方法与工具

Autodesk Inventor 机械三维设计软件下载安装,Inventor 专业的三维制图软件

Inventor&#xff0c;它的一大亮点在于能够将三维尺寸、标注以及尺寸公差直接融入三维模型中&#xff0c;使得这些关键信息能够无缝对接下游应用&#xff0c;极大地提升了设计流程中的连贯性和一致性。 谈及Inventor的尺寸公差功能&#xff0c;更是让人赞不绝口。在复杂的设计过…

‘引爆增长·赋能十堰’第一届学习峰会在十堰东方汉宫国际酒店成功举办

‘引爆增长赋能十堰’第一届学习峰会在十堰东方汉宫国际酒店成功举办 2024年6月 17 至18 日&#xff0c;为期两天的“引爆增长赋能十堰”第一届学习交流峰会在湖北十堰东方汉宫国际酒店一号盛大举行&#xff0c;学习峰会现场&#xff0c;来自十堰地区及邻边地市的上百位实体企业…

传统车牌识别

主要参考&#xff1a;https://blog.csdn.net/qq_40784418/article/details/105586644 其它介绍&#xff1a; https://blog.csdn.net/great_yzl/article/details/120127962 https://blog.csdn.net/onepunch_k/article/details/115480904 cv2.matchTemplate https://docs.ope…