2013-08-29 2 views
5

Хотя я знаком с основами composer.json и задающих зависимостей под ключ require я не совсем понял, цель require-dev - документация состояний композитора:Когда вы используете «require-dev»? Каковы общие зависимости от разработчиков?

require-dev (root-only)

перечислены пакеты, необходимые для разработки этот пакет или выполняемые тесты, и т. д. Требования разработчика корневого пакета устанавливаются по умолчанию . Как установка, так и обновление поддерживают параметр -no-dev, который предотвращает установку зависимостей разработчиков.

Реферат имеет смысл, но мне трудно представить себе ситуации, когда мне понадобится эта функциональность.

  1. Каковы практические случаи использования require-dev в рабочем процессе?
  2. Есть ли примерный пакет (или пакеты), который должен находиться в require-dev, но не в require?

ответ

11

Одним из распространенных примеров является phpunit, который вам нужен для разработки вашего тестового набора, но в целом он не понадобится на производстве. Это могут быть также инструменты для сборки или такие вещи. Нет никакого огромного вреда в том, чтобы все это требовать, но это просто означает, что у вас больше кода, установленного на ваших машинах, и может немного замедлить ваши сборки в зависимости от того, как вы их делаете.

+0

Gotchya, поэтому он не имеет ничего общего с зависимостями в процессе разработки? –

+1

Нет, это действительно означает зависимости, необходимые для разработки вашего пакета, это не относится к стабильности самих зависимостей. – Seldaek

+0

Как настроить свою производственную машину, чтобы композитор мог распознать, что он находится на производственной машине при запуске «установки композитора»? – JoeTidee