Как ускорить установку композитора?

Нам нужно перенести несколько сотен пакетов на композитор, используя репозиторий VCS в GitHub, и я заметил, что даже на корневых серверах очень медленно, используя среднее приложение с 20-30 пакетами. На домашних машинах это даже хуже. На самом деле это делает работу действительно утомительной и как-то неприемлемой.

Есть ли какие-либо улучшения, которые могут быть сделаны для его ускорения? Zip или packagist также не подходят для нас.

Ответ 1

Использовать Prestissimo

Prestissimo - это глобальный плагин Composer, который устанавливает зависимости параллельно. Это безумно быстро. Стоит отметить, что Prestissimo требует cURL, который может не работать за некоторыми брандмауэрами или прокси. Я вообще не сталкивался с какими-либо проблемами.

Ответ 2

Убедитесь, что ваши файлы composer.lock находятся в управлении версиями, а в вашем основном проекте очень важно быстро сделать composer install. Он содержит список пакетов и информацию о них (включая конкретные версии), которые Composer использует для ускорения процесса установки.

Подробнее см. https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file.

Ответ 3

Две вещи, которые я хотел бы попробовать

1) Используйте подробный вариант -v, чтобы увидеть, что так долго. Это может быть ваша пропускная способность в Интернете или латентность или что-то еще удивительное.

2) используйте опции -no-dev и -prefer-dist, чтобы предотвратить использование композитором версий, которые вы не используете в процессе производства.

В-третьих: вы могли бы запустить регулярное обновление фона композитора где-нибудь, чтобы обновить кеширование. Таким образом, по крайней мере, ваши установки будут немного быстрее.

(Ps. Я уверен, что были уровни -vvv и -vvv для уровней детализации, но я не вижу этого в документах сейчас... Я думал, что только второй уровень дал вам скорость загрузки.)