2015-10-10 6 views

risposta

131

aggiornamento compositore

composer update aggiorna le depencencies come sono specificate nel composer.json

Per esempio, se avete bisogno di questo pacchetto come dipendenza:

"mockery/mockery": "0.9.*", 

e si ha in realtà installato la versione 0.9.1 del pacchetto, eseguendo composer update causerà un aggiornamento di questo pacchetto (ad esempio a 0.9.2, se è già stato rilasciato)

in dettaglio composer update volontà:

  • Leggi composer.json
  • Rimuovere i pacchetti installati che non sono più richieste nei composer.json
  • Verificare la disponibilità delle ultime versioni del tuo pacchetti richiesti
  • Installa le versioni più recenti dei pacchetti
  • Aggiornamento composer.lock per memorizzare la versione dei pacchetti installati

compositore installare

composer install non aggiornerà nulla; sarà sufficiente installare tutte le dipendenze, come specificato nel composer.lock file di

In dettaglio:

  • Controllare se composer.lock file esiste (se non, eseguire composer-update e crearlo)
  • Leggi composer.lock file di
  • Installa i pacchetti specificati nel file composer.lock

Quando da installare e quando aggiornare

  • composer update è usato soprattutto in la 'fase di sviluppo', di aggiornare i nostri pacchetti di progetti in base a quello che abbiamo specificato nel file composer.json,

  • composer install è utilizzato principalmente nella "fase di distribuzione" per installare la nostra applicazione su un server di produzione o su un ambiente di test, utilizzando le stesse dipendenze memorizzate nel file composer.lock creato dall'aggiornamento del compositore.

+2

Non hai descrivere quello che sarà se non abbiamo alcun file di blocco e chiamiamo compositore installare. Bella descrizione btw. – user1954544

+0

Importante cosa che potrebbe morderti un giorno - il file di blocco non è ricorsivo. Se alcuni pacchetti hanno dipendenze vagamente definite e se capita di prendere una copia pulita di un progetto su una macchina pulita, può installare diverse versioni di dipendenze annidate, che potrebbero includere nuovi bug o addirittura rotture di modifiche! Particolarmente rilevante per i server di integrazione e generazione continua. La soluzione: cerca il pacchetto problematico annidato e aggiungi la sua versione corretta corretta a json e al file di blocco. – JustAMartin

+0

e 'compleer global update' aggiorna le dipendenze nel repository globale sul sistema locale (variabile env' COMPOSER_HOME') –

43

Quando si esegue l'installazione di compositore, cercherà un file di blocco e installerà tutto ciò che è contenuto in esso, se non riesce a trovarne uno leggerà compositore.json, installerà le sue dipendenze e genererà un file di lock.

Quando si esegue l'aggiornamento di compositore, semplicemente legge compositore.json, installa le dipendenze e aggiorna il file di blocco (o crea un nuovo file di blocco).

5

Esecuzione composer install volontà:

  • controllare se un composer.lock esiste.
  • In caso contrario, eseguire uno composer update per crearne uno.
  • Se composer.lock esiste, installare le versioni specificate dal file di blocco.

Esecuzione composer update volontà:

  • Controllare composer.json.
  • Determinare le ultime versioni da installare in base alle specifiche della versione.
  • Installa le ultime versioni.
  • Aggiornamento composer.lock per riflettere le ultime versioni installate.

Fonte: Composer: It’s All About the Lock File

+0

'compositore install' controlla anche se' composer.json' esiste ... –