2013-08-29 12 views
5

Chociaż jestem zaznajomiony z podstawami composer.json i określanie zależności pod klucz require Ja nie całkiem rozumiał cel require-dev - Państwa dokumentacja kompozytora:Kiedy używasz "require-dev"? Jakie są typowe zależności od deweloperów?

require-dev (root-only)

Lista pakietów wymaganych do opracowania ten pakiet lub uruchomione testy, itd. Wymagania dewelopera pakietu głównego są instalowane domyślnie przez . Zarówno instalacja, jak i aktualizacja obsługują opcję --no-dev, która uniemożliwia instalację zależności od deweloperów.

W skrócie ma sens, ale trudno mi sobie wyobrazić sytuacje, w których potrzebowałbym tej funkcjonalności.

  1. Jakie są praktyczne przypadki użycia require-dev w przepływie pracy?
  2. Czy istnieje przykładowy pakiet (lub pakiety), który powinien znajdować się w require-dev, ale nie w require?

Odpowiedz

11

Jednym z typowych przykładów jest phpunit, który jest potrzebny do rozwoju zestawu testów, ale generalnie nie będzie potrzebny w produkcji. Może to być także budowanie narzędzi lub takich rzeczy. Nie ma ogromnej szkody w tym, aby wszystko było w potrzebie, oznacza to tylko, że masz więcej kodu zainstalowanego na twoich maszynach prod i może trochę spowolnić twoje kompilacje w zależności od tego, jak je wykonujesz.

+0

Gotchya, więc nie ma to nic wspólnego z rozwijającymi się zależnościami? –

+1

Nie, to naprawdę oznacza zależności potrzebne do rozwinięcia pakietu, nie odnosi się do stabilności samych zależności. – Seldaek

+0

Jak skonfigurować maszynę produkcyjną, aby umożliwić kompozytorowi rozpoznanie, że znajduje się ona na maszynie produkcyjnej po uruchomieniu "instalacji kompozytora"? – JoeTidee

Powiązane problemy