package.json 中版本规则详情如下:
-
^
: 只会执行不更改最左边非零数字的更新。 如果写入的是^0.13.0
,则当运行npm update
时,可以更新到0.13.1
、0.13.2
等,但不能更新到0.14.0
或更高版本。 如果写入的是^1.13.0
,则当运行npm update
时,可以更新到1.13.1
、1.14.0
等,但不能更新到2.0.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
: 使用可用的最新版本。