Что означает Тильда ( ~ ) в моем композиторе.файл json?
у меня есть эта строка в мой композитор.JSON-файл:
"require": {
...
"friendsofsymfony/user-bundle": "~2.0@dev",
...
},
что делает Тильда ~ in ~2.0@dev конкретно имеешь ввиду? Является ли это заполнителем и всегда будет получать подрывные действия, такие как 1.2.0,2.2.0,3.2.0 и так далее? Не имеет смысла (и будет сделано * подстановки).
The композитор.документация json ничего не говорит о Тильде.
Я спрашиваю, потому что я только что прочитал о проблема безопасности в блог на Symfony и они рекомендуют обновить до версии 1.3.3. Но выяснить версию FOSUserBundle не так просто (я не смог найти файл, содержащий версию).
2 ответа:
Тильда означает следующий значительный релиз. В вашем случае, это эквивалентно
>= 2.0, < 3.0.полное объяснение находится в страница документов диапазона версий Тильды:
The
~оператор лучше всего объяснить на примере:~1.2эквивалентно>=1.2 <2.0.0, в то время как~1.2.3эквивалентно>=1.2.3 <1.3.0.другой способ взглянуть на это заключается в том, что с помощью
~задает минимальную версия, но последняя цифра указано идти вверх.комментарий Seldeak ниже-это простое краткое объяснение документации композитора.
Tildeоператор полезен для проектов, которые версии своих библиотек, используяsemantic versioningсхема.
Semantic versioning- это скорее ориентир, который оцениваетnext significant release.для Composer этот оператор означает разрешить незначительные выпуски (которые могут включать патчи), не разрешая основную версию (которая может быть не обратно совместима) в то время как установка и обновление.
например:
~4.1позволит версии проекта>=4.1но<5.0.