当前位置: 首页 > news >正文

npm包版本号详解

npm包在发布时,需要按照包版本语义化中的约定去更新设置,例如我们常见的1.0.01.0.10.0.1等这样的版本号,那么这些数字分别代表什么意思呢?下面我们将详细介绍。

npm版本号的组成

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

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

版本号变更的一般规则:

  • 版本号只升不降,不得在数字前面加0。例如不能是1.01.0,应该是1.0.0
  • 当主版本号升级时,次版本号和修订版本号需要归零。例如1.1.1->2.0.0
  • 当次版本号升级时,主版本号不变,修订版本号归零。例如1.1.1->1.2.0
  • 当修订版本号升级时,主版本和次版本号都不变。例如1.1.1->1.1.2
  • 一般第一个正式版本应为1.0.0
  • 处于开发测试阶段的版本一般为0.y.z,如果不发布,则默认为0.0.0,如果发布第一个测试版本则是0.1.0,如果修复第一个测试版本则是0.1.1,如果更新第二个测试版本则是0.2.0

版本标识符(标签)

格式:Major.Minor.Patch-Identifier.1,其中Identifier就是代表标识符,和版本号之间使用-隔离,后面则是当前标识符的版本版本号,每升级一次则+1

标识符含义说明
demodemo版本用于验证问题的版本
dev开发版多用于开发阶段,bug较多,功能不完善
alphaα版本内部版本,测试用,代表当前可能有很大的变动
beta测试版本(β版本)测试版本,代表版本已开始稳定,但是还有bug
stable稳定版本
latest最新版本安装时不知道版本号时的默认安装最新版本

希望安装带标签的版本,必须明确指定标签或者版本号,否则安装的是最新的不带标签的版本。

版本运算符

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

~ 版本号只指定主版本号或者次版本号,例如:

版本范围匹配版本号
~22.Y 或者 2.0.0 ≤ V < 4.0.0
~2.12.1.Z 或者 2.1.0 ≤ V < 2.2.0
~2.1.12.1.1 ≤ V < 2.2.0

^ 版本号
匹配第一个非0版本号

版本范围匹配版本号
^2.1.22.1.2 ≤ V < 3.0.0
^0.1.20.1.2 ≤ V < 0.2.0
^2.Y.Z2.0.0 ≤ V < 3.0.0

npm 安装包时,默认使用 ^ 匹配版本。

~^ 对比

版本范围匹配版本号说明
~2.1.02.1.0 ≤ V < 2.2.0主版本号和次版本号相同
^2.1.02.1.0 ≤ V < 3.0.0主版本号相同

相关文章:

npm包版本号详解

npm包在发布时&#xff0c;需要按照包版本语义化中的约定去更新设置&#xff0c;例如我们常见的1.0.0&#xff0c;1.0.1&#xff0c;0.0.1等这样的版本号&#xff0c;那么这些数字分别代表什么意思呢&#xff1f;下面我们将详细介绍。 npm版本号的组成 一个完整的版本号&…...

ubuntu 系统安装docker——使用docker打包python项目,整个流程介绍

目录 1 安装docker和配置镜像源 2 下载基础镜像 3 通过镜像创建容器 4 制作项目所需的容器 5 容器制作好后打包为镜像 6 镜像备份为.tar文件 7 从其他服务器上恢复镜像 8 docker的其他常用指令 首先科普一下镜像、容器和实例&#xff1b; 镜像&#xff1a;相当于安装包&…...

MySQL事务篇

MySQL事务篇 一、一条Insert语句 为了故事的顺利发展&#xff0c;我们需要创建一个表&#xff1a; CREATE TABLE t (id INT PRIMARY KEY,c VARCHAR(100) ) EngineInnoDB CHARSETutf8;然后向这个表里插入一条数据&#xff1a; INSERT INTO t VALUES(1, 刘备); 现在表里的数据就…...

【Redis】搭建分片集群

目录 集群结构 准备实例和配置 启动 创建集群 测试 集群结构 分片集群需要的节点数量较多&#xff0c;这里我们搭建一个最小的分片集群&#xff0c;包含3个master节点&#xff0c;每个 master包含一个slave节点&#xff0c;结构如下&#xff1a; 这里我们会在同一台虚…...

RoCEv2网络部署实践

延续上篇RoCE网络的介绍&#xff0c;我们知道承载ROCEv2流量必须有一张无损网络。 本章主要介绍在以太网环境部署无损网络的关键点。 首先是QoS&#xff0c;包含流分类和队列调度两部分。 流分类&#xff1a;在网络接入设备&#xff08;TOR&#xff09;配置if-match类的语句&am…...

【HashMap】| 深度剥析Java SE 源码合集Ⅱ | 你会吗?

目录一. &#x1f981; HashMap介绍1.1 特点1.2 底层实现二. &#x1f981; 结构以及对应方法分析2.1 结构组成2.1.1 成员变量2.1.2 存储元素的节点类型2.1.2.1 链表Node类2.1.2.2 树节点类2.1.2.3 继承关系2.2 方法实现2.2.1 HashMap的数组初始化2.2.2 计算hash值2.2.3 添加元…...

剑指 Offer 39. 数组中出现次数超过一半的数字

剑指 Offer 39. 数组中出现次数超过一半的数字 难度&#xff1a;easy\color{Green}{easy}easy 题目描述 数组中有一个数字出现的次数超过数组长度的一半&#xff0c;请找出这个数字。 你可以假设数组是非空的&#xff0c;并且给定的数组总是存在多数元素。 示例 1: 输入: …...

使用python控制摄像头

前言 当今&#xff0c;随着计算机技术的发展&#xff0c;摄像头已经成为了人们生活中不可或缺的一部分。而Python作为一种流行的编程语言&#xff0c;也可以轻松地控制和操作摄像头。无论你是想用Python写一个简单的摄像头应用程序&#xff0c;还是想在机器学习和计算机视觉项…...

Linux文件系统

目录 1、常见的linux文件系统 2、文件系统的组成 inode的内容&#xff1a; 可以用stat命令&#xff0c;查看某个文件的inode信息 inode的大小 inode号码 使用 ls -i来查看文件的inode号码 使用 df -i命令&#xff0c;查看每个硬盘分区的inode总数和已经使用的数量&#xff…...

扬帆优配|引活水 增活力 促转型 创业板助力实体经济高质量发展

立异就是生产力&#xff0c;企业赖之以强&#xff0c;国家赖之以盛。全面注册制变革持续开释立异生机。日前&#xff0c;创业板公司已开端连续公布2022年度年度报告和2023年第一季度成绩预告&#xff0c;从频频传来的“喜报”中可窥见立异驱动开展战略下新兴工业的强劲开展态势…...

【c++】:STL模板中string的使用

文章目录 STL简介一.认识string二.string中基本功能的使用总结STL简介 STL(standard template libaray-标准模板库)&#xff1a;是C标准库的重要组成部分&#xff0c;不仅是一个可复用的组件库&#xff0c;而且是一个包罗数据结构与算法的软件框架。STL的版本 原始版本 Alexand…...

华为OD机试用Python实现 -【连续字母长度 or 求第 K 长的字符串长度】 | 2023.Q1 A卷

华为OD机试题 本篇题目:连续字母长度 or 求第 K 长的字符串长度题目输入描述输出描述示例一输入输出说明示例二输入输出说明示例三输入输出说明Code代码编写逻辑最近更新的博客 华为od 2023 | 什么是华为od,od...

前端处理并发的最佳实践

什么是并发&#xff1f; 因为js是单线程的&#xff0c;所以前端的并发指的是在极短时间内发送多个数据请求&#xff0c;比如说循环中发送ajax。 举一个简单的例子&#xff1a; 下面一段代码是常规的mount阶段执行的请求&#xff1a; useEffect(async () > {console.time…...

【SOP 】配电网故障重构方法研究【IEEE33节点】(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

[MySQL索引]4.索引的底层原理(三)

索引的底层原理&#xff08;三&#xff09;哈希索引InnoDB自适应哈希索引哈希索引 memory存储引擎支持的是哈希索引&#xff0c;memory是支持内存的存储引擎。 哈希表中的元素没有任何顺序可言&#xff0c;只能进行等值比较&#xff0c;包括范围搜索、前缀搜索like、order by…...

2023金三银四应届生求职面试指南

一、应届生优势 划重点&#xff0c;一定要走校招;千万不要等毕业之后再想着找工作&#xff0c;在毕业前就要敲定落实;否则&#xff0c;就真的该焦虑了。要知道应届生的身份是一个很吃香的身份;只有应届生可以走校园招聘。 1、那校园招聘跟社会招聘有多大的差距?? 这么说吧&…...

【数据结构】解决顺序表题的基本方法

&#x1f680;write in front&#x1f680; &#x1f4dc;所属专栏&#xff1a;> 初阶数据结构 &#x1f6f0;️博客主页&#xff1a;睿睿的博客主页 &#x1f6f0;️代码仓库&#xff1a;&#x1f389;VS2022_C语言仓库 &#x1f3a1;您的点赞、关注、收藏、评论&#xff0…...

HDFS如何解决海量数据存储及解决方案详解

HDFS组件 HDFS组件的基准测试 说明 一般在搭建完集群之后&#xff0c;运维人员需要对集群进行压力测试&#xff0c;对于HDFS来讲&#xff0c;主要是读写测试写入测试 hadoop jar /export/server/hadoop-3.3.0/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-3.…...

认识CSS值如何提高写前端代码的效率

&#x1f31f;所属专栏&#xff1a;前端只因变凤凰之路&#x1f414;作者简介&#xff1a;rchjr——五带信管菜只因一枚&#x1f62e;前言&#xff1a;该系列将持续更新前端的相关学习笔记&#xff0c;欢迎和我一样的小白订阅&#xff0c;一起学习共同进步~&#x1f449;文章简…...

MySQL知识点全面总结3:Mysql高级篇

三.MySQL知识点全面总结3&#xff1a;mysql高级篇 1.mysql语句的执行过程&#xff1f; 2.myesql事务详解&#xff1f; 3.mysql日志详解&#xff1f; 4.mysql的索引功能详解&#xff1f; 5.mysql的存储引擎详解&#xff1f; 6.mysql事务提交后数据与硬盘如何交互存储&…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

tauri项目,如何在rust端读取电脑环境变量

如果想在前端通过调用来获取环境变量的值&#xff0c;可以通过标准的依赖&#xff1a; std::env::var(name).ok() 想在前端通过调用来获取&#xff0c;可以写一个command函数&#xff1a; #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...

DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态

前言 在人工智能技术飞速发展的今天&#xff0c;深度学习与大模型技术已成为推动行业变革的核心驱动力&#xff0c;而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心&#xff0c;系统性地呈现了两部深度技术著作的精华&#xff1a;…...

ubuntu22.04 安装docker 和docker-compose

首先你要确保没有docker环境或者使用命令删掉docker sudo apt-get remove docker docker-engine docker.io containerd runc安装docker 更新软件环境 sudo apt update sudo apt upgrade下载docker依赖和GPG 密钥 # 依赖 apt-get install ca-certificates curl gnupg lsb-rel…...