#php #composer-php #dependency-management
#php #композитор-php #управление зависимостями
Вопрос:
В настоящее время я использую composer для управления зависимостями моего проекта от моей среды разработки, и это творит чудеса, однако я немного теряюсь при развертывании в производство, потому что многие из моих проектов имеют довольно много зависимостей (Symfony, Doctrine, log4php …), И я чувствую себя глупо, загружая их снова и снова иснова и снова. Есть ли какой-нибудь способ настроить symphony на использование «центрального назначения» или что-то в этом роде?
Я уже пытался изменить каталог назначения на «общий» каталог и попытался настроить там пару проектов, но composer удаляет неиспользуемые пакеты.
Ответ №1:
Ваши проекты могут использовать одни и те же библиотеки, но используют ли они одни и те же версии этих библиотек?
А что, если вы решите обновить одну из этих библиотек? Вы должны протестировать ВСЕ свои проекты, если ничего не сломалось, а не только один проект, над которым вы сейчас работаете.
А что, если вашему одному проекту действительно нужна обновленная версия из-за какой-то функции, но обновление прерывает другой проект, потому что также произошли несовместимые изменения.
Из-за всего этого Composer решил поддерживать зависимости программного обеспечения для каждого проекта, а не глобально, потому что поддержание глобального набора библиотек является огромной проблемой (некоторые причины приведены выше), и ее не следует делать, если этого можно избежать.