Ответ 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 считается совместимой