2013-08-29 11 views
5

Mentre ho familiarità con le nozioni di base e delle dipendenze composer.json specificando sotto la chiave require non ho capito bene lo scopo della require-dev - stati di documentazione del compositore:Quando si usa "require-dev"? Quali sono le dipendenze degli sviluppatori comuni?

require-dev (root-only)

Elenca i pacchetti necessari per lo sviluppo questo pacchetto, o esecuzione di test, ecc. I requisiti di sviluppo del pacchetto radice sono installati dal valore predefinito . Sia l'installazione che l'aggiornamento supportano l'opzione --no-dev che impedisce l'installazione delle dipendenze di sviluppo.

In astratto ha senso, ma ho difficoltà a immaginare le situazioni in cui avrei bisogno di questa funzionalità.

  1. Quali sono i casi pratici di utilizzo di require-dev in un flusso di lavoro?
  2. Esiste un pacchetto di esempio (o pacchetti) che deve risiedere in require-dev ma non in require?

risposta

11

Un esempio comune è phpunit, che è necessario in fase di sviluppo per eseguire la suite di test, ma generalmente non sarà necessario nella produzione. Potrebbe anche essere costruire strumenti o cose del genere. Non c'è alcun danno enorme nel mettere tutto ciò che è necessario, ma significa che hai più codice installato sulle tue macchine prod e potresti rallentare un po 'le tue build a seconda di come le fai.

+0

Gotchya, quindi non ha nulla a che fare con le dipendenze in fase di sviluppo? –

+1

No, significa veramente le dipendenze necessarie per sviluppare il pacchetto, non si riferisce alla stabilità delle dipendenze stesse. – Seldaek

+0

Come si configura la macchina di produzione in modo che il compositore riconosca che si trova su una macchina di produzione quando si esegue "installazione di compositore"? – JoeTidee

Problemi correlati