Как ускорить установку композитора?
Нам нужно перенести несколько сотен пакетов на композитор, используя репозиторий 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 для уровней детализации, но я не вижу этого в документах сейчас... Я думал, что только второй уровень дал вам скорость загрузки.)