语义化版本 SemVer

简介: 语义化版本 SemVer

正文


1. 语义化版本 SemVer(Semantic Versioning)


语义化的版本号必须采用 XYZ 格式(MAJOR.MINOR.PATCH),其中 XYZ 是非负整数,并且不得包含前导零。X 是主要版本(主版本号),Y 是次要版本(次版本号),Z 是补丁版本(修订号)。每个元素必须在数值上增加。

如:1.2.3 主要版本 1,次要版本 2,补丁版本 3

a. 主要版本更新:表示一个破坏兼容性的大变化;

b. 次要版本更新:表示不会破坏任何内容的新功能;

c. 补丁版本更新:表示不会破坏任何内容的错误修复。

换句话说:错误修复不影响 API 增加补丁版本,向后兼容的 API 添加或更改增加次要版本,向后不兼容的 API 更改增加主要版本

Q: v1.2.3 是语义版本吗?

A:这不是语义版本。但是,在语义版本前添加 v 前缀是一种常用方式(英文),表示它是版本号。通过版本控制经常可以看到将 version 缩写为 v。示例: git tag v1.2.3 -m "Release version 1.2.3",在这种情况下,v1.2.3 是标记名称,语义版本是 1.2.3


2.


当您使用 npm 安装包(并保存它)时,会在 package.json 中添加一个包含包名称和应该使用的 semver 的条目。默认情况下,npm 安装最新版本,并预先插入版本号,例如 “^1.2.12”,这表示至少应该使用版本 1.2.12,但任何高于此版本的版本都可以,只要它具有相同的主要版本,由于次要版本和补丁编号仅代表错误修正和非破坏性添加, 你可以安全地使用任何更高版本的同一主要版本。阅读更多关于 semver 通配符的信息,请看 这里


3.


(1)指定版本号:如 "classnames": "2.2.5",表示安装 2.2.5 的版本。

(2)~版本号:如 "babel-plugin-import": "~1.1.0",表示安装 1.1.x 的最新版本(不低于 1.1.0),但是不安装 1.2.x,也就是说安装时不改变大版本号和次要版本号。

(3)^版本号:如 "antd": "^3.1.4",表示安装 3.1.4 及以上的版本,但是不安装 4.0.0,也就是说安装时不改变大版本号。


参考:https://segmentfault.com/a/1190000017239545


目录
相关文章
|
存储 JSON 资源调度
10分钟带你从0到1搭建monorepo 工程化项目(一)
前言 大家好,我是Fly哥, 之前写博客的仓库,还是用的原生的html 和js 也没有引入 ts , 和一些工程化的东西, 所以自己重新搭建了一套前端项目架构 基于 lerna + yarn 的 monrepo的仓库, 主要是后面会学习输出的一些东西, 整个架子先搭建起来。 2d 和 3d 公共 util 的封装 个人 npm 包的发布 (rollup) 2d react 项目 搭建(vite) 3d react 项目 搭建 (webpack) 搭建一套基于webpack 5 的cli 每个项目都有一些特定的依赖, 但是也会有一些相同的依赖。比如eslint、 babel 的一些基础配置,
10分钟带你从0到1搭建monorepo 工程化项目(一)
|
弹性计算 监控 Linux
跨云厂商网络接入&数据迁移
从华为云、腾讯云接入/搬站到阿里云网络时,暴露数据库公网 IP 有安全隐患,使用传统的 IPSec VPN 配置 VPN 网关过程繁琐,且连接带宽和速度不稳定,传输大量数据耗时很久。通过将 SAG vCPE 镜像部署在您网络的宿主机中,使宿主机作为一个 CPE(Customer-premises equipment)设备为您提供上云服务,突破了物理的限制,更加灵活地帮您将网络接入阿里云。
跨云厂商网络接入&数据迁移
|
Web App开发
修改chrome插件
背景 例子为:ModHeader插件,顾名思义可以修改request header的插件,官方地址为:https://chrome.google.com/webstore/detail/modheader/idgpnmonknjnojddfkpgkljpfnnfcklj 研发通过新增/修改req...
3507 0
|
存储 人工智能 关系型数据库
使用 PostgreSQL pgvector 的 AI 应用程序中的多模态搜索
大型语言模型(LLM)的发展已拓展至多模态领域,不仅能处理文本,还能解析图像。本文介绍如何构建一个多模态搜索应用,用户可通过上传图片或输入文本来搜索印度菜谱。该应用支持多种LLM服务,如OpenAI及Ollama本地部署模型,并运用pgvector扩展在PostgreSQL中高效存储和检索向量嵌入。我们还展示了如何生成菜谱描述的嵌入并向数据库写入这些嵌入,以及如何通过API接口结合文本和图像查询来获取最相关的菜谱结果。此外,讨论了使用分布式SQL数据库如YugabyteDB增强应用的可扩展性和健壮性。
411 0
|
网络协议 Ubuntu Linux
查询Linux中网络链接的状态:networkctl
【7月更文挑战第18天】
447 0
查询Linux中网络链接的状态:networkctl
|
敏捷开发 缓存 Java
阿里云云效产品使用合集之如何配置流水线里的npm构建
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
人工智能 自然语言处理 OLAP
AnalyticDB向量检索助力钉钉AI助理
2024年1月9日钉钉发布人人可用的AI助理产品,用户点击钉钉首屏右上角的魔法棒,即可唤起AI助理进行对话式数据AI、信息摘要、写工作总结、写文档等工作。AnalyticDB for PostgreSQL (下文简称ADB-PG) 向量检索引擎提供了核心实体的向量召回,帮助AI助理在智能问数等场景中大幅提升模型输出准确性。
1195 6
|
Web App开发 开发者
Chrome 技术篇-将程序打包为crx文件,chrome插件的打包方法。
Chrome 技术篇-将程序打包为crx文件,chrome插件的打包方法。
904 0
Chrome 技术篇-将程序打包为crx文件,chrome插件的打包方法。
YI
|
缓存 IDE 算法
Go学习笔记01|Go项目的创建与运行
Go学习笔记01|Go项目的创建与运行
YI
745 0
|
Web App开发 开发者
Chrome浏览器导出插件crx
Chrome浏览器导出插件crx
577 0