Quali sono le differenze tra composer update
e composer install
?Quali sono le differenze tra l'aggiornamento del compositore e l'installazione del compositore?
risposta
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, eseguirecomposer-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 filecomposer.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.
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).
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.
'compositore install' controlla anche se' composer.json' esiste ... –
Non hai descrivere quello che sarà se non abbiamo alcun file di blocco e chiamiamo compositore installare. Bella descrizione btw. – user1954544
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
e 'compleer global update' aggiorna le dipendenze nel repository globale sul sistema locale (variabile env' COMPOSER_HOME') –