Репозитории глобальных зависимостей — Composer

#php #composer-php #dependency-management

#php #композитор-php #управление зависимостями

Вопрос:

В настоящее время я использую composer для управления зависимостями моего проекта от моей среды разработки, и это творит чудеса, однако я немного теряюсь при развертывании в производство, потому что многие из моих проектов имеют довольно много зависимостей (Symfony, Doctrine, log4php …), И я чувствую себя глупо, загружая их снова и снова иснова и снова. Есть ли какой-нибудь способ настроить symphony на использование «центрального назначения» или что-то в этом роде?

Я уже пытался изменить каталог назначения на «общий» каталог и попытался настроить там пару проектов, но composer удаляет неиспользуемые пакеты.

Ответ №1:

Ваши проекты могут использовать одни и те же библиотеки, но используют ли они одни и те же версии этих библиотек?

А что, если вы решите обновить одну из этих библиотек? Вы должны протестировать ВСЕ свои проекты, если ничего не сломалось, а не только один проект, над которым вы сейчас работаете.

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

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