语义版本控制是用于为版本提供含义的约定
如果Node.js软件包中有一件很棒的事情,那就是所有人都同意将语义版本控制用于其版本编号。
语义版本控制的概念很简单:所有版本都有3位数字:x.y.z
。
- 第一位是主要版本
- 第二个数字是次要版本
- 第三位数是补丁版本
发布新版本时,您不仅可以随心所欲地增加数字,还可以遵循以下规则:
- 当您进行不兼容的API更改时,您可以升级到主要版本
- 当您以向后兼容的方式添加功能时,您可以升级次要版本
- 进行向后兼容的错误修复时,您可以升级补丁程序版本
该约定在所有编程语言中都被采用,并且非常重要的一点是,npm
软件包坚持使用它,因为整个系统都依赖于此。
为什么这么重要?
因为npm
设定一些我们可以在其中使用的规则package.json
文件选择当我们运行时它可以将我们的软件包更新到哪个版本npm update
。
规则使用这些符号:
^
~
>
>=
<
<=
=
-
||
让我们详细了解这些规则:
^
:如果您写^0.13.0
跑步时npm update
它可以更新到补丁程序和次要版本:0.13.1
,0.14.0
等等。~
:如果您写~0.13.0
,在跑步时npm update
它可以更新到补丁程序版本:0.13.1
可以,但是0.14.0
不是。>
:您接受比您指定的版本更高的任何版本>=
:您接受等于或高于您指定的版本的任何版本<=
:您接受等于或低于您指定的版本的任何版本<
:您接受低于指定版本的任何版本=
:您接受该确切版本-
:您接受各种版本。例子:2.1.0 - 2.6.2
||
:您将集合组合在一起。例子:< 2.1 || > 2.6
您可以结合使用其中一些符号,例如use1.0.0 || >=1.1.0 <1.2.0
使用1.0.0或从1.1.0开始但低于1.2.0的一个发行版。
还有其他规则:
- 无符号:您仅接受您指定的特定版本(
1.2.1
) latest
:您想使用可用的最新版本
免费下载我的Node.js手册
更多节点教程:
- npm软件包管理器简介
- Node.js简介
- 使用Axios的HTTP请求
- 在哪里托管Node.js应用
- 使用Node.js与Google Analytics(分析)API进行交互
- npx节点包运行器
- package.json指南
- npm在哪里安装软件包?
- 如何更新Node.js
- 如何使用或执行使用npm安装的软件包
- package-lock.json文件
- 使用npm的语义版本控制
- 您是否应该将node_modules文件夹提交到Git?
- 将所有Node依赖项更新到最新版本
- 使用Node.js解析JSON
- 查找npm软件包的安装版本
- Node.js流
- 安装较旧版本的npm软件包
- 在Node中获取当前文件夹
- 如何在Node中记录对象
- 使用导出从Node文件公开功能
- 节点和浏览器之间的区别
- 使用Node发出HTTP POST请求
- 使用Node获取HTTP请求主体数据
- 节点缓冲区
- Node.js的简要历史
- 如何安装Node.js
- 使用Node您需要知道多少JavaScript?
- 如何使用Node.js REPL
- 节点,从命令行接受参数
- 使用Node输出到命令行
- 接受来自Node中命令行的输入
- 使用`npm uninstall`来卸载npm软件包。
- npm全局或本地软件包
- npm依赖项和devDependencies
- Node.js事件循环
- 了解process.nextTick()
- 了解setImmediate()
- 节点事件发射器
- 建立一个HTTP服务器
- 使用Node发出HTTP请求
- Node fs模块
- 使用Axios的Node中的HTTP请求
- 使用Node读取文件
- 节点文件路径
- 用Node写入文件
- 节点文件统计
- 在Node中使用文件描述符
- 在Node中使用文件夹
- 节点路径模块
- Node http模块
- 将WebSockets与Node.js结合使用
- 使用MySQL和Node的基础知识
- Node.js中的错误处理
- 哈巴狗指南
- 如何从Node.js读取环境变量
- 如何从Node.js程序退出
- Node os模块
- 节点事件模块
- 节点,开发与生产之间的区别
- 如何检查Node.js中是否存在文件
- 如何在Node.js中创建一个空文件
- 如何使用Node.js删除文件
- 如何使用Node.js获取文件的最后更新日期
- 如何在JavaScript中确定日期是否为今天
- 如何将JSON对象写入Node.js中的文件
- 为什么要在下一个项目中使用Node.js?
- 从任何文件夹运行Web服务器
- 如何将MongoDB与Node.js结合使用
- 使用Chrome DevTools调试Node.js应用
- 什么是pnpm?
- Node.js运行时v8选项列表
- 使用npm时如何解决“缺少写访问权限”错误
- 如何在Node.js中启用ES模块
- 如何使用Node.js生成子进程
- 如何在Express中同时获取已解析的正文和原始正文
- 如何在Node.js中处理文件上传
- 节点模块中的对等依赖性是什么?
- 如何使用Node.js编写CSV文件
- 如何使用Node.js读取CSV文件
- 节点核心模块
- 使用Node.js一次增加多个文件夹的数量
- 如何将画布打印到数据URL
- 如何使用Node.js和Canvas创建和保存图像
- 如何使用Node.js下载图像
- 如何在Node.js中批量重命名文件
- 如何获取Node中文件夹中所有文件的名称
- 如何使用Promise和基于Node.js回调的等待功能
- 如何在本地测试NPM软件包
- 如何在运行时检查当前的Node.js版本
- 如何使用Sequelize与PostgreSQL交互
- 使用Node.js服务HTML页面
- 如何解决Node.js中的util.pump不是函数错误