bower(和npm)版本的语法是什么?

Bower使我可以使用以下语法为软件包指定版本要求:

"dependencies": {
  "<name>": "<version>",
},

但是我无法找到用于的语法<version>我知道我可以将版本指定为:

  • 大于某个版本 ">1.0.0"
  • 大于或等于版本: ">=1.0.0"
  • 或在一定范围内:"1.0.0 - 2.0.0"

我也知道有一个通用的语法包含波浪号:"~1.0.0"但是我不确定这意味着什么以及它是否与相同"=1.0.0"

我也很想知道我是否能够指定多个非连续版本,例如完全1.0.3大于的加号1.5.0,等等。

神乐Mandy小哥2020/03/19 12:36:53

Bower使用semver语法,但是这里有一些简单的示例:

您可以安装特定版本:

$ bower install jquery#1.11.1

您可以使用〜来指定“以此开头的任何版本”:

$ bower install jquery#~1.11

您可以一起指定多个版本要求:

$ bower install "jquery#<2.0 >1.10"
Sam宝儿2020/03/19 12:36:53

如果没有补丁号,~则等效于附加.x到非波浪号版本。如果有补丁号,则~允许所有补丁号> =指定的补丁号。

~1     := 1.x
~1.2   := 1.2.x
~1.2.3 := (>=1.2.3 <1.3.0)

我没有足够的意见对已接受的答案发表评论,但某些波浪号信息与链接的semver文档不一致:"angular": "~1.2"匹配1.3、1.4、1.4.9 "angular": "~1""angular": "~1.0"等价的。可以使用npm semver计算器进行验证

Tom阳光达蒙2020/03/19 12:36:53

您还可以使用latest关键字来安装可用的最新版本:

  "dependencies": {
    "fontawesome": "latest"
  }
神乐飞云逆天2020/03/19 12:36:53

基于semver,您可以使用

  • 连字符范围XYZ-ABC 1.2.3-2.3.4 表示> = 1.2.3 <= 2.3.4

  • X范围 1.2.x 1.X 1.2.*

  • 字幕范围 ~1.2.3 ~1.2 表示允许补丁程序级别更改或次要版本更改。

  • 插入符范围^ 1.2.3 ^ 0.2.5 ^ 0.0.4

    允许所做的更改不会修改[major,minor,patch]元组中最左边的非零数字

    • ^1.2.x (意味着> = 1.2.0 <2.0.0)
    • ^0.0.x (意味着> = 0.0.0 <0.1.0)
    • ^0.0 (意味着> = 0.0.0 <0.1.0)