Компиляция Magento2 DI занимает слишком много времени

9

После создания / обновления нового модуля / темы я использую следующую команду в корневом каталоге установки Magento

php bin/magento setup:upgrade

Который просит меня запустить компиляцию, поэтому я использую

 php bin/magento setup:di:compile

на его компиляцию уходит около 8 минут. Есть ли способ ускорить процесс компиляции?

amitshree
источник
1
Я сообщил об этом на GitHub 3 недели назад: # 2893 .
Mage2.PRO

Ответы:

10

Прежде всего, компиляция нужна только в производственном режиме. Если вы разрабатываете, вам не нужно запускать компиляцию

Трудно улучшить компиляцию, потому что в этом процессе строится дерево всех классов в системе. Например, изменение в di.xml может повлиять на половину классов.

В режиме разработчика, если вы изменяете / создаете конструктор, вам все равно нужно удалить сгенерированную / code / folder, чтобы удалить автоматически сгенерированный код и очистить кеш

Канди
источник
Итак, я должен игнорировать это сообщение в режиме разработчика?
amitshree
Да, вы должны игнорировать
KAndy
4
Кроме того, как только вы запустите компиляцию один раз, в / var / di появятся файлы * .ser, и вы должны удалить их, в противном случае они все еще используются.
Фабиан Шменглер
1
даже в режиме разработчика, если вы создаете конструктор или модифицируете какой-либо из них, вам все равно нужно запустить setup: di: compile. возможно это теперь требуется в последней версии magento.
Дони Вибово,
1
DoniWibowo @ Suman-PHP4U Я обновил ответ об изменениях кода
KAndy