首页
学习
活动
专区
圈层
工具
发布
技术百科首页 >npm >npm 的语义化版本控制(semver)是如何工作的?

npm 的语义化版本控制(semver)是如何工作的?

词条归属:npm

1. 版本号结构

  • 语义化版本遵循 主版本号.次版本号.补丁号(MAJOR.MINOR.PATCH)三段式结构
  • 主版本号:不兼容的 API 变更
  • 次版本号:向下兼容的功能新增
  • 补丁号:向下兼容的问题修复

2. 范围符号与兼容性

  • ^1.2.3 允许 >=1.2.3 1.3.0,~1.2.3 允许 >=1.2.3 1.2.10
  • 开发依赖通常使用 ^ 以获取补丁与次版本更新,生产依赖则根据稳定性需求选择更严格的范围

3. 版本解析与更新

  • npm 在版本范围内自动选择最新的兼容版本
  • npm update 命令根据 package.json 中的范围重新解析并更新依赖
  • 主版本升级需要手动修改 package.json,因为可能包含破坏性变更
相关文章
关于语义化版本规则(Semver)的领悟
以前一直忽视了版本号规则的重要性,这两天改了一个bug让我深刻的领悟了遵守语义化版本规则(semver)的重要性。尤其是当自己需要造轮子给别人用的时候,如果没有遵循语义化版本规则,是很容易给别人留坑的。。。
mythsman
2022-11-14
6610
【嵌入式】嵌入式系统中的 SemVer 版本控制方案
在嵌入式系统开发中,采用 语义化版本控制(SemVer, Semantic Versioning) 能帮助团队清晰地管理 固件(Firmware)、驱动(Driver) 和 软件(Software) 版本,确保兼容性和稳定性。
LuckiBit
2025-03-15
1.2K0
npm 中如何下载特定的组件版本
IMWeb前端团队
2018-01-08
7.9K0
npm 中如何下载特定的组件版本
为了更好的进行说明,我们选择了 lodash 来演示,因为它是被其他模块依赖最多的模块之一。本文是在 windows 7 64位系统中进行测试,npm 版本为 v3.8.1,其他的平台和 npm 版本在某些提示上可能会稍有不同。
IMWeb前端团队
2019-12-04
6.9K0
Semver(语义化版本号)扫盲
最近Github 10周年在朋友圈里沸沸扬扬刷屏,小编在工作中却惊讶的确发现不少同事对版本号中的beta和rc没有概念,使用npm install package@next时,也不清楚next代表的含义。于是,决定写一篇文章科普一下由 Github 起草的Semver(语义化版本)的相关知识。
腾讯IVWEB团队
2020-06-28
2.5K0
点击加载更多
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券