2014-01-06 2 views
0
"foo": "~0.2.1" 
"foo": ">= 0.2.1" 

В чем разница?В чем разница между> = и ~ в зависимостях package.json?


Stack Overflow не позволит мне представить на поставленный выше вопрос, потому что это слишком лаконичным, так вот некоторые бессмысленно текст наполнителя. Ла-ла-ла-ла. Правила этого сайта глупы.

ответ

1

>= означает, что любая версия равна или больше относится к упомянутой версии. Например, 42.42.42 будет в порядке с требованием >= 0.2.1 (независимо от того, насколько он несовместим с практикой). Кроме того, это означает, что 0.2.1-beta не подходит, поскольку бета-версия была до финальной версии.

~ означает разумно близкое к указанной версии (как в, совместимом). Он принимает определение семантического определения версий, поэтому любые переходы с большой версией не считаются совместимыми (выше последнего числа в указанной версии). Например, 42.42.42 или 0.3.0 не соответствует требованиям ~0.2.1. Однако допускается 0.2.1-beta или 0.2.42, так как это достаточно близко к окончательной версии.

1

Тильда означает следующий значительный выпуск. В вашем случае это эквивалентно> = 2.0, < 3.0.

Простой способ использования большого пальца в том, что ~ позволяет последней цифре подниматься вверх. например ~ 2.2 означает 2.2 и любое 2.x, где x равно 2 или выше. ~ 2.1.3 на a также любое 2.1.x, где x равно 3 или выше.

http://getcomposer.org/doc/01-basic-usage.md#package-versions

Смежные вопросы