Как я могу composer global требовать hirak / prestissimo (или что-то еще) для DDEV-Local? - PullRequest
0 голосов
/ 05 августа 2020

Я хотел бы использовать hirak / prestissimo , чтобы ускорить загрузку моих DDEV-Local composer сборок для всех моих проектов, но я не знаю, как установить его глобально. Как его установить?

Ответы [ 2 ]

3 голосов
/ 05 августа 2020

В DDEV-Local v1.15 + вы можете глобально разместить все, что хотите, в домашнем каталоге веб-контейнера с помощью функции homeadditions , а в веб-контейнере глобальная конфигурация composer находится в ~ / . composer. Таким образом, простой способ создать нужные файлы (и hirak / prestissimo - лишь пример) - это

ddev composer global require hirak/prestissimo # This installs prestissimo into global composer (home directory)
docker cp ddev-<your-project-name>-web:/home/$(id -un)/.composer ~/.ddev/homeadditions/
ddev start

. Конечно, вы также можете сделать это на уровне проекта, а не на глобальном уровне, используя свой каталог проекта .ddev / homeadditions вместо каталога ~ / .ddev / homeadditions.

0 голосов
/ 22 августа 2020

В дополнение к тому, что сказал rfay, и на основе его решения есть еще один подход.

В вашем .ddev/web-build/Dockerfile добавьте RUN composer global require hirak/prestissimo. Это установит hirak/prestissimo в каталог /root/.composer.

Затем в .ddev/homeadditions/.bash_aliases добавьте следующее:

sync_global_composer() {
    sudo rsync -a /root/.composer/ /home/$(id -un)/.composer
    sudo chown -R 1000:1000 /home/$(id -un)/.composer
}

sync_global_composer

При первом выполнении ddev ssh потребуется немного дольше из-за rsyn c, но последующие быстрые.

Причина этого подхода заключается в отсутствии prestissimo (и в моем случае некоторых других глобальных библиотек) в git, и идея чтобы сделать это прозрачным для остальной части команды разработчиков.

PD: Я все еще думаю, как это улучшить.

...