^ в версии зависимости package.json

Что означает символ ^ в версии зависимостей в package.json?

Я не мог найти его в документах.

Например:

"dependencies": {
    "grunt": "^0.4.4",
    ...
}

Ответы

Ответ 1

Я нашел ответ здесь:

Картер, с другой стороны, более расслаблен. Он обновит вас до последней крупной версии (первое число). ^1.2.3 будет соответствовать любой версии 1.x.x, включая 1.3.0, но будет удерживаться на 2.0.0. npms семантический парсер версии разъясняет различие:

~1.2.3 := >=1.2.3-0 <1.3.0-0 "Reasonably close to 1.2.3".
^1.2.3 := >=1.2.3-0 <2.0.0-0 "Compatible with 1.2.3".
     

- isaacs/ node -semver (выделено мной)

Соответствующие точки из isaacs/node-semver:

  • ^1.2.3: = >=1.2.3-0 <2.0.0-0 Совместимость с 1.2.3.
    При использовании операторов каретки все, что указано в указанной версии (включая предварительную), будет поддерживаться вплоть до следующей основной версии (или ее предварительных версий). 1.5.1 будет удовлетворять ^1.2.3, а 1.2.2 и 2.0.0-beta не будет.

  • ^0.1.3: = >=0.1.3-0 <0.2.0-0 Совместимость с 0.1.3.
    Версии 0.x.x являются специальными: первый ненулевой компонент указывает на потенциально нарушение изменений, что означает, что оператор каретки соответствует любой версии с тем же самым первым ненулевым компонентом, начиная с указанной версии.

  • ^0.0.2: = =0.0.2 Только версия 0.0.2 считается совместимой