2015-12-22 4 views
1

У меня есть несколько вопросов о композиторе:Вопросы о версии для композиторов

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) Когда я specifiy:

"behat/behat": "^1.3" 

Как это поведение здесь, в отношении номер 2).

Есть ли какие-либо другие особые случаи, когда мне нужно быть осторожными при указании номера версии?


p.s Я уже прочитал composer versions docs.

+2

Документация кажется мне предельно ясной – RiggsFolly

+0

'~' - принимать все, что меняет только последнюю цифру; '^' - принимать все, что не меняет первую цифру (единственное исключение - версии до версии 1.0). Что касается вашего первого вопроса, это полностью зависит от ваших проектов. – raina77ow

ответ

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-мастер» и зависимостей развития с разработчика стабильности и других «особых случаев.

Но вопрос является слишком широким, чтобы обеспечить хороший ответ. Спросите снова, когда вы столкнулись с проблемой со «специальными случаями».

+0

Спасибо за ваш рассказ Из документов я не смог найти ту часть, которая будет в обоих случаях, проверить на 1.3. *, 1.4. *, 1.5. *. Говоря «~ 1.3». – user3746259

+1

Последний пример: ~ 1.3 то же самое, что и^1.3, но ~ 1.3.1 будет отличаться от^1.3.1, потому что First никогда не достигнет 1.4, а второй всегда будет <2.0? – user3746259