La compilation de Magento2 DI prend trop de temps

9

Après avoir créé / mis à jour un nouveau module / thème, j'utilise la commande suivante dans le répertoire d'installation racine de Magento

php bin/magento setup:upgrade

Ce qui me demande de lancer la compilation, donc j'utilise

 php bin/magento setup:di:compile

ce qui prend environ 8 minutes pour le compiler. Existe-t-il un moyen d'accélérer le processus de compilation?

amitshree
la source
1
Je l'ai signalé sur GitHub il y a 3 semaines: # 2893 .
Mage2.PRO

Réponses:

10

Tout d'abord, la compilation n'a besoin qu'en mode production. Si vous développez, vous n'avez pas besoin d'exécuter la compilation

Il est difficile d'améliorer la compilation, car dans ce processus, créez l'arborescence de toutes les classes du système. Par exemple, un changement dans 'di.xml' peut affecter la moitié des classes.

En mode développeur, si vous modifiez / créez un constructeur, vous devez toujours supprimer le / code / dossier généré pour supprimer le code généré automatiquement et nettoyer le cache

KAndy
la source
Donc, je devrais ignorer ce message en mode développeur?
amitshree
Oui, vous devez ignorer
KAndy
4
De plus, dès que vous avez exécuté la compilation une fois, il y aura des fichiers * .ser dans / var / di et vous devez les supprimer, sinon ils sont toujours utilisés.
Fabian Schmengler
1
même en mode développeur, si vous créez un constructeur ou modifiez l'un d'entre eux, vous devez toujours exécuter setup: di: compile. peut-être que cela est maintenant requis dans la dernière version de magento.
Doni Wibowo
1
DoniWibowo @ Suman-PHP4U J'ai mis à jour la réponse concernant les changements de code
KAndy