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

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.lryc.cn/news/378619.html

相关文章:

  • 孩子到了叛逆期,家长应该怎么教育孩子?
  • 芋道源码 yudao-cloud 、Boot 文档,开发指南 看全部,破解[芋道快速开发平台 Boot + Cloud]
  • 工具函数-算法
  • C# yolov8 OpenVINO 同步、异步接口视频推理
  • 【STM32入门学习】定时器与PWM的LED控制
  • PyTorch实战:模型训练中的特征图可视化技巧
  • 有人@你!神工坊知识问答第二期中奖名单新鲜出炉
  • 数据结构篇:旋转操作在AVL树中的实现过程
  • 为什么Java默认使用UTF-16,Golang默认使用UTF-8呢?
  • JavaScript常见面试题(三)
  • 【Effective Modern C++】第1章 型别推导
  • 服装连锁实体店bC一体化运营方案
  • IDEA中SpringMVC的运行环境问题
  • Python初体验
  • 从零开始如何学习人工智能?
  • 【仿真建模-anylogic】动态生成ConveyorCustomStation
  • 如何使用idea连接Oracle数据库?
  • 谈谈kafaka的并行处理,顺带讲讲rabbitmq
  • P3056 [USACO12NOV] Clumsy Cows S
  • 智赢选品,OZON数据分析选品利器丨萌啦OZON数据
  • Canal自定义客户端
  • 20240621将需要自启动的部分放到RK3588平台的Buildroot系统的rcS文件中
  • 掌握数据魔方:Xinstall引领ASA全链路数据归因新纪元
  • IIS代理配置-反向代理
  • Flutter调用本地web
  • AI大模型部署Ubuntu服务器攻略
  • vlan、vxlan、vpc学习
  • 低代码开发:加速工业数智化转型发展
  • python“__main__“的解读
  • Linux Debian12使用podman安装pikachu靶场环境