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,就会到正式的版本了。

相关推荐

  1. npm 语义版本控制

    2024-06-19 10:16:04       15 阅读
  2. 如何定义版本号--语义版本

    2024-06-19 10:16:04       5 阅读
  3. Mac系统升级node.js版本npm版本

    2024-06-19 10:16:04       45 阅读
  4. 下降npm版本 Node版本NPM版本对应关系

    2024-06-19 10:16:04       8 阅读
  5. nrm-npm版本管理详细安装使用教程

    2024-06-19 10:16:04       40 阅读

最近更新

  1. Haproxy

    Haproxy

    2024-06-19 10:16:04      0 阅读
  2. 免费云服务器

    2024-06-19 10:16:04       0 阅读
  3. 智慧文元宇宙

    2024-06-19 10:16:04       0 阅读
  4. Redis和mysql如何保持数据一致?

    2024-06-19 10:16:04       0 阅读
  5. 达梦数据库DM8-mysql迁移后字符串长度问题

    2024-06-19 10:16:04       0 阅读

热门阅读

  1. 金融行业:银行的三大类业务

    2024-06-19 10:16:04       19 阅读
  2. Vim和Nano简介

    2024-06-19 10:16:04       15 阅读
  3. 产品经理基础入门

    2024-06-19 10:16:04       20 阅读
  4. C# 用RFC的方式调用SAP接口

    2024-06-19 10:16:04       20 阅读
  5. ngrok 进行安全的内网穿透:使用指南

    2024-06-19 10:16:04       22 阅读
  6. 【C语言】信号

    2024-06-19 10:16:04       17 阅读
  7. kotlin 注解 @Parcelize 使用

    2024-06-19 10:16:04       20 阅读
  8. Hadoop+Spark大数据技术(自命题试卷测试)

    2024-06-19 10:16:04       16 阅读
  9. Bash sleep随机时间

    2024-06-19 10:16:04       19 阅读