Что означает Тильда ( ~ ) в моем композиторе.файл json?
у меня есть эта строка в мой композитор.файл json:
"require": {
...
"friendsofsymfony/user-bundle": "~2.0@dev",
...
},
что делает Тильда ~
на ~2.0@dev
конкретно имеешь ввиду? Является ли это заполнителем и всегда будет получать подрывные действия, такие как 1.2.0
, 2.2.0
, 3.2.0
и так далее? Не имеет смысла (и будет сделано *
подстановки).
на композитор.в JSON документации ничего не говорит о Тильде.
Я спрашиваю, потому что я только что прочитал о проблема безопасности в блог на Symfony и они рекомендуют обновить до версии 1.3.3. Но выяснить версию FOSUserBundle не так просто (я не смог найти файл, содержащий версию).
2 ответов
Тильда означает следующий значительный релиз. В вашем случае, это эквивалентно >= 2.0, < 3.0
.
полное объяснение по страница документов диапазона версий Tilde:
на
~
оператор лучше пояснить на примере:~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
.