composer - Как указывать версии зависимостей (тильда, звездочка, шапка: ^ * ~) -- что означают в версиях. Значение
Primary tabs
При указании допустимых версий пакетов можно использовать
- точное соответствие (1.2.3),
- диапазоны с операторами сравнения (< 1.2.3),
- комбинации этих операторов (>1.2.3 < 1.3), “последняя доступная”(1.2.*),
- символ тильды (~1.2.3)
- и знак вставки (^1.2.3).
- "dev-master" - при каждом обновлении будет вытаскивать последнее состояние ветки master.
Тильда и колпачок -- какая разница
- указание тильды (~1.2.3) будет включать в себя все версии до 1.3 (не включительно), так как в семантическом версионировании это является моментом внедрения новых функциональных возможностей. В данном случае будет получена последняя из стабильных минорных версий. Как гласит документация, при данном указании изменяться может только последняя цифра версии.
- указание знака вставки (^1.2.3) буквально означает “опасаться только критических изменений” и будет включать в себя версии вплоть до 2.0. Применительно к semver, изменение мажорной версии является моментом внесения в проект критических изменений, так что версии 1.3, 1.4 и 1.9 подходят, в то время как 2.0 — уже нет.
Кроме случая, когда вы знаете, что вам нужна конкретная версия пакета, я рекомендую всегда использовать формат ~1.2.3 — это самый безопасный выбор.
Узнать текущие версии пакетов, используемых в вашем приложении можно так.
Источник
- Log in to post comments
- 15277 reads
vedro-compota
Wed, 06/20/2018 - 13:55
Permalink
звезда и тильда
Непонятно тогда в чем разница между
~1.2.3 и 1.2.*
это выходит одно и то же, если звездочка идёт вместо последней цифры?
_____________
матфак вгу и остальная классика =)
melisa
Thu, 06/21/2018 - 13:24
Permalink
точно не знаю
точно не знаю, но возможно, стоит обратить внимание на слово стабильная в описании ~ варианта.
Может быть * закачает последнюю доступную версию, вне зависимости от её стабильности.
vedro-compota
Fri, 06/22/2018 - 18:11
Permalink
composer в чем разница между тильдой и звездочкой
сообразил
Эта разница может оказаться существенной если разные другие пакеты в одном проекте будут требовать разные версии.
_____________
матфак вгу и остальная классика =)