У меня есть несколько вопросов о композиторе:
1) Какой оператор мне лучше использовать в проектах клиентов? ^ или же ~ ?
2) Когда я укажу:
"behat/behat": "~1.3"
Означает ли это, что все версии < 2,0, например 1.3, 1.3.4, 1.3.7, 1.4, 1.5.7 … или это просто подсчет второй цифры (1.3, 1.4, 1.5, 1.6 …)?
3) Когда я уточняю:
"behat/behat": "^1.3"
Как здесь поведение, относительно № 2).
Есть ли другие особые случаи, когда мне нужно быть осторожным при указании номера версии?
я уже читал Версии для композиторов.
1) Какой оператор мне лучше использовать в проектах клиентов? ^ или ~?
Предпочитаю карету ^
через тильду ~
оператор.
2 + 3) Что это значит, когда я указываю:
"behat/behat": "~1.3"
~1.3
эквивалентно >=1.3 <2.0.0
,
Вкратце:
~
устанавливает минимальную версию и позволяет увеличить цифры последней версии, сохраняя при этом безопасность BC.
В деталях:
1.3
ряд как нижняя граница, вероятно 1.3.0
1.3.*
, 1.4.*
и так далее (все версии)2.0.0
Переключатель основной версии (здесь из 1.*.*
в 2.*.*
) указывает на возможный разрыв в обратной совместимости (см. стандарт семантического контроля версий).
Диспетчер пакетов будет избегать критических изменений, чтобы ваш набор программных зависимостей работал.
Есть ли другие особые случаи, когда мне нужно быть осторожным при указании номера версии?
Существуют особые случаи, например выбор зависимостей dev-master и разработки со стабильностью dev и другие особые случаи.
Но вопрос слишком широкий, чтобы дать хороший ответ. Спросите еще раз, когда у вас возникнут проблемы с «особыми случаями».
Других решений пока нет …