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,就会到正式的版本了。
  • 13
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
node.js 版本npm 版本是相互对应的。你可以在官方网站上找到它们的对应关系。另外,使用 nvm 工具安装 node.js 后,会自动下载对应版本npm。 要更新 npm,你可以运行以下命令来查看当前的 npm 版本: ``` npm -v ``` 要将 npm 更新到最新版本,可以运行以下命令: ``` npm install npm@latest -g ``` 要查看当前的 node.js 版本,可以运行以下命令: ``` node -v ``` 如果你想更新到最新版本node.js,你可以从官方网站下载最新版本的安装包,安装时会自动更新 node.jsnpm。 需要注意的是,不同的项目可能需要特定的 node.jsnpm 版本。*** node -v<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [详细安装node.js管理工具nvm,以及对应版本npmnpm6.x)过程中遇到的问题](https://blog.csdn.net/weixin_44293949/article/details/126049300)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [如何更新npm和nodejs到最新版本?](https://download.csdn.net/download/weixin_38670501/14887587)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小绵杨Yancy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值