2015-01-16 13 views
10

Dobbiamo eseguire la migrazione di alcune centinaia di pacchetti al compositore, utilizzando il repository VCS su GitHub e ho notato che anche su server root è estremamente lento, utilizzando un'app media con più di 20 o più pacchetti. Sulle macchine di casa è ancora peggiore. In effetti rende il lavoro davvero noioso e in qualche modo inaccettabile.Come posso velocizzare le installazioni di compositore?

Ci sono miglioramenti che possono essere fatti per velocizzarlo? Zip o packagist non è un'opzione neanche per noi.

+1

Si sta utilizzando 'compattore installazione' o' compositore aggiornamento'? – ceejayoz

+0

Se 'compositore install' con un file' composer.lock' valido è super-lento, il problema non dipende da Composer. – ceejayoz

+0

Sì, rimuovere il file di blocco renderebbe l'installazione più lenta. 'compositore install' usa il file di blocco per velocizzare le installazioni. – ceejayoz

risposta

3

Assicurarsi che i file composer.lock siano in controllo versione e nel progetto principale è fondamentale per rendere composer install veloce. Contiene un elenco di pacchetti e informazioni su di essi (incluse versioni specifiche) che Composer utilizza per accelerare il processo di installazione.

Vedere https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file per ulteriori dettagli.

1

Due cose che vorrei provare

1) Utilizzare l'opzione -v verbose per vedere cosa sta prendendo così tanto tempo. Potrebbe essere la tua larghezza di banda o latenza, o qualcos'altro che sorprende.

2) utilizzare le opzioni --no-dev e --prefer-dist per impedire al compositore di considerare le versioni che non si stanno utilizzando in produzione.

In terzo luogo, è possibile eseguire regolarmente un aggiornamento di background compositore per mantenere aggiornate le cache. Quindi almeno le tue installazioni sarebbero un po 'più veloci.

(Ps. Sono sicuro che ci fosse -vv -v e -vvv per livelli di dettaglio, ma non riesco a vedere che nella documentazione ora ... ho pensato che solo il secondo livello ti ha dato velocità di download.)

14

Utilizzare Prestissimo

Prestissimo è un plug-in Composer globale che installa le dipendenze in parallelo. È pazzo veloce. Vale la pena notare che Prestissimo richiede cURL, che potrebbe non funzionare dietro determinati firewall o proxy. Non ho avuto problemi personali.

+0

Esiste un pacchetto come questo per anche l'installazione di npm? – Justin

+0

Certo, si chiama ied. Google it. – insign

+2

@Justin Facebook ha rilasciato un nuovo pacchetto chiamato filato https://code.facebook.com/posts/1840075619545360 – iamkristher

Problemi correlati