使用node.js
,package.json
您可以在依赖项中看到名称和版本号,如下所示:
"dependencies": {
"jshint": "^2.8.0"
}
请注意,出现了符号^
(我不知道西班牙语的名称,但显然在英语中它被称为caret)。
但是,在其他存储库中,依赖项带有另一个符号,如下所示:
"dependencies": {
"jshint": "~1.8.0"
}
请注意,现在版本号之前的符号是~
(在英语中他们称之为波浪号,在西班牙语中称为 virgulilla)。
我还看到了没有任何符号的具有依赖关系的存储库,如下所示:
"dependencies": {
"jshint": "1.8.0"
}
这些符号有什么区别,它们在 中的含义是package.json
什么?
For :
~
1.8.0 将匹配所有1.8.x
版本,但未匹配1.9.0
(这是默认行为)。致:
^
您将更新到最新的主要版本(第一期)。^ 2.8.0
将匹配任何2.x.x
版本,包括2.9.0
,但保持版本距离3.0.0
3.9.2示例:(取自最后提供的链接)
语义版本控制使用三部分的版本号。
有关更多详细信息,您可以咨询http://bytearcher.com/articles/semver-explained-why-theres-a-caret-in-my-package-json/(链接英文)
更新: 当我阅读问题时它不存在或者我没有看到它询问“1.8.0”
正如@César Bustíos 在他的回答中所说,我刚刚阅读了“正是这个版本”的版本
致:
"1.8.0"
正是这个版本。更新:
^
插入符号,在西班牙语中可以命名为acento circunflejo
,是 ASCII 码的代码 94,对应于插入符号的相同代码。(链接 1)http://www.elcodigoascii.com.ar/codigos-ascii/intercalacion-acento-circunflejo-codigo-ascii-94.html
(链接 2)https://es.wikipedia.org/wiki/Acento_circunflejo
它们的含义如下:
取自package.json。此外,根据页面上的建议,您可以查看semver工具,当然,通过示例和验证,您会更清楚。