上一章:Node.js 依赖包更新到最新版本 | 下一章:卸载 npm 软件包 |
如果 Node.js 软件包中有一件很棒的事情,那就是它们都同意使用语义版本控制作为版本编号。
语义版本控制的概念很简单:所有的版本都有 3 个数字:x.y.z
。
当发布新的版本时,不仅仅是随心所欲地增加数字,还要遵循以下规则:
该约定在所有编程语言中均被采用,每个 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
。可以合并其中的一些符号,例如 1.0.0 || >=1.1.0 <1.2.0
,即使用 1.0.0 或从 1.1.0 开始但低于 1.2.0 的版本。
还有其他的规则:
1.2.1
)。latest
: 使用可用的最新版本。