Папка Magento 2 var/di відсутня

У папці var не створено папку di . Я отримую, будь ласка, повторно запустіть команду компіляції. Чому нам потрібен цей каталог di ?

5

5 Відповіді

Якщо ви оновили до версії Magento 2.2. *

var/generation has been moved to generated/code

і

var/di has been moved to generated/metadata

There shouldn't be var/di і var/generation folders after the upgrade.

3
додано

Можливо, ви використовуєте Magento в режимі розробника. У режимі розробника var/di не генерується і його потрібно видалити. . Ніколи не виконуйте команди компіляції в режимі розробника (див. Також: > Які команди компіляції потрібні в режимі розробника і коли? )

Крім того, якщо ви перебуваєте в режимі розробника і раніше використовували команди компіляції або переходили з режиму виробництва:

  • delete var/di and var/generation
  • delete pub/static/*, keep pub/static/.htaccess

Повідомлення, яке ви отримали, вводить в оману, це стосується лише режиму виробництва!

2
додано

di folder are generate at compile time inside var folder.

видалити вміст папки генерації. якщо папка di недоступна, спочатку створіть папку di у папці var .

Запустити команду,

php bin/magento setup:di:compile
2
додано
коли в режимі розробника, нормально я отримав папку 'generated' в корені після запуску цієї команди?
додано Автор sajidnizami, джерело
Яка мета & використання цього каталогу di в magento?
додано Автор user41246, джерело

di папка генерується самим magento. Кожен раз при запуску:

bin/magento setup:di:compile

Magento створить файли

0
додано
Що таке помилка?
додано Автор samoz, джерело
Вам може знадобитися очистити кеш за допомогою: sudo rm -rf var/cache/* var/generation/* і дайте права власника файлової системи Magento.
додано Автор samoz, джерело
di означає ін'єкцію залежностей
додано Автор samoz, джерело
Всякий раз, коли ви змінюєтесь де-небудь в коді, який має справу з ін'єкціями залежностей, такими як objectManager
додано Автор samoz, джерело
Так, але коли я намагаюся виконати цю команду, я отримую помилку
додано Автор user41246, джерело
1. Папка var/generation не є порожньою 2.class Cli не знайдено.
додано Автор user41246, джерело
Якщо я намагаюся видалити папку покоління, він автоматично регенерує миттєво.
додано Автор user41246, джерело
Що таке використання цього каталогу di в Magento?
додано Автор user41246, джерело
призначення? Я маю на увазі, коли я повинен виконувати цю команду? Коли це буде потрібно?
додано Автор user41246, джерело

Сам Magento створює каталог, var/di .

Причиною є відсутність цього каталогу (це може бути викликано видачею дозволу)

Будь ласка, знову запустіть команду компіляції

повідомлення під час запуску

setup:upgrade command.

Я також зіткнувся з такою ж проблемою. Потім я вручну створив директорію 'di' у каталозі 'var' і встановив відповідний дозвіл. Це вирішило це питання для мене. Потім після того, як я не отримав такого повідомлення.

0
додано