2015-01-16 16 views
10

Musimy przenieść kilkaset pakietów do kompozytora, korzystając z repozytorium VCS na GitHub i zauważyłem, że nawet na serwerach głównych ekstremalnie wolno, używając przeciętnej aplikacji z 20 do 30+ pakietów. Na domowych maszynach jest nawet najgorsza. W rzeczywistości sprawia, że ​​praca jest naprawdę nudna i jakoś nie do przyjęcia.Jak przyspieszyć instalacje kompozytora?

Czy są jakieś ulepszenia, które można zrobić, aby przyspieszyć? Zip lub packagist nie są dla nas opcją.

+1

Czy używasz 'composer install' lub' composer update'? – ceejayoz

+0

Jeśli 'composer install' z poprawnym plikiem' composer.lock' jest super-powolny, problem nie dotyczy programu Composer. – ceejayoz

+0

Tak, usunięcie pliku blokady spowodowałoby powolną instalację. 'composer install' używa pliku blokady, aby przyspieszyć instalację. – ceejayoz

Odpowiedz

3

Upewnij się, że twoje pliki composer.lock są w kontroli wersji, a w głównym projekcie są one kluczowe dla szybkiego wykonania composer install. Zawiera listę pakietów i informacje na ich temat (w tym konkretne wersje), których używa Composer, aby przyspieszyć proces instalacji.

Aby uzyskać więcej informacji, zobacz numer https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file.

1

dwie rzeczy chciałbym spróbować

1) należy wybrać opcję opisowy -v aby zobaczyć, co to tak długo trwa. Może to być przepustowość lub opóźnienie w Internecie lub coś zaskakującego.

2) użyj opcji --no-dev i --prefer-dist, aby zapobiec kompozytorowi, biorąc pod uwagę wersje, których nie używasz w produkcji.

Po trzecie: można uruchomić gdzieś aktualizację regularnego kompozytor, aby zachować aktualność pamięci podręcznych. Więc przynajmniej twoje instalacje będą nieco szybsze.

(Ps. Jestem pewien, że nie było -v -vv i -vvv na poziomach szczegółowości, ale nie mogę zobaczyć, że w docs teraz ... Myślałam tylko drugi poziom dał pobrać prędkościach.)

14

Użyj Prestissimo

Prestissimo to globalna wtyczka Composer, która instaluje zależności równolegle. To szalone szybko. Warto zauważyć, że Prestissimo wymaga cURL, który może nie działać za niektórymi zaporami ogniowymi lub serwerami proxy. Nie napotkam żadnych problemów osobiście.

+0

Czy jest taki pakiet dla tego npm zainstalować też? – Justin

+0

Jasne, nazywa się ied. Wygoogluj to. – insign

+2

@Justin Facebook opublikował nowy pakiet o nazwie przędza https://code.facebook.com/posts/1840075619545360 – iamkristher

Powiązane problemy