Установка drupal 9 и docker4drupal через composer на windows.

Аватар пользователя Aleksandr.ru Aleksandr.ru 26 марта в 20:27

Добрый день, делаю по гиду: https://wodby.com/docs/1.0/stacks/drupal/local/
1. Устанавливаю docker4drupal путем копирования в папку после распаковки.
2. Далее устанавливаю drupal project командой composer create-project drupal/recommended-project
3. Запускаю docker командой docker-compose up -d
4. Ввожу адрес в браузер и выдает следующую ошибку:
Additional uncaught exception thrown while handling exception.
Original
Error: Call to a member function setFormClass() on null in system_entity_type_build() (line 1231 of /var/www/html/web/core/modules/system/system.module).

system_entity_type_build() (Line: 122)
Drupal\Core\Entity\EntityTypeManager->findDefinitions() (Line: 175)
Drupal\Core\Plugin\DefaultPluginManager->getDefinitions() (Line: 22)
Drupal\Core\Plugin\DefaultPluginManager->getDefinition() (Line: 136)
Drupal\Core\Entity\EntityTypeManager->getDefinition() (Line: 257)
Drupal\Core\Entity\EntityTypeManager->getHandler() (Line: 196)
Drupal\Core\Entity\EntityTypeManager->getStorage() (Line: 93)
Drupal\Core\Datetime\DateFormatter->__construct()
ReflectionClass->newInstanceArgs() (Line: 1142)
Symfony\Component\DependencyInjection\ContainerBuilder->createService() (Line: 618)
Symfony\Component\DependencyInjection\ContainerBuilder->doGet() (Line: 558)
Symfony\Component\DependencyInjection\ContainerBuilder->get() (Line: 87)
Drupal\Core\TempStore\Element\BreakLockLink::create() (Line: 21)
Drupal\Core\Plugin\Factory\ContainerFactory->createInstance() (Line: 83)
Drupal\Component\Plugin\PluginManagerBase->createInstance() (Line: 141)
Drupal\Core\Render\ElementInfoManager->createInstance() (Line: 111)
Drupal\Core\Render\ElementInfoManager->buildInfo() (Line: 77)
Drupal\Core\Render\ElementInfoManager->getInfo() (Line: 811)
Drupal\Core\Form\FormBuilder->prepareForm() (Line: 279)
Drupal\Core\Form\FormBuilder->buildForm() (Line: 952)
install_get_form() (Line: 1378)
install_select_language() (Line: 700)
install_run_task() (Line: 571)
install_run_tasks() (Line: 119)
install_drupal() (Line: 48)
Additional
Error: Call to a member function setFormClass() on null in system_entity_type_build() (line 1231 of /var/www/html/web/core/modules/system/system.module).

system_entity_type_build() (Line: 122)
Drupal\Core\Entity\EntityTypeManager->findDefinitions() (Line: 175)
Drupal\Core\Plugin\DefaultPluginManager->getDefinitions() (Line: 22)
Drupal\Core\Plugin\DefaultPluginManager->getDefinition() (Line: 136)
Drupal\Core\Entity\EntityTypeManager->getDefinition() (Line: 257)
Drupal\Core\Entity\EntityTypeManager->getHandler() (Line: 196)
Drupal\Core\Entity\EntityTypeManager->getStorage() (Line: 93)
Drupal\Core\Datetime\DateFormatter->__construct()
ReflectionClass->newInstanceArgs() (Line: 1142)
Symfony\Component\DependencyInjection\ContainerBuilder->createService() (Line: 618)
Symfony\Component\DependencyInjection\ContainerBuilder->doGet() (Line: 558)
Symfony\Component\DependencyInjection\ContainerBuilder->get() (Line: 87)
Drupal\Core\TempStore\Element\BreakLockLink::create() (Line: 21)
Drupal\Core\Plugin\Factory\ContainerFactory->createInstance() (Line: 83)
Drupal\Component\Plugin\PluginManagerBase->createInstance() (Line: 141)
Drupal\Core\Render\ElementInfoManager->createInstance() (Line: 111)
Drupal\Core\Render\ElementInfoManager->buildInfo() (Line: 77)
Drupal\Core\Render\ElementInfoManager->getInfo() (Line: 301)
Drupal\Core\Render\Renderer->doRender() (Line: 201)
Drupal\Core\Render\Renderer->render() (Line: 145)
Drupal\Core\Render\Renderer->Drupal\Core\Render\{closure}() (Line: 564)
Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 146)
Drupal\Core\Render\Renderer->renderRoot() (Line: 66)
Drupal\Core\Render\BareHtmlPageRenderer->renderBarePage() (Line: 76)
Drupal\Core\ProxyClass\Render\BareHtmlPageRenderer->renderBarePage() (Line: 1058)
install_display_output() (Line: 271)
_drupal_log_error() (Line: 364)
_drupal_exception_handler()

Подскажите, как можно поправить?

Комментарии

Аватар пользователя gun_dose gun_dose 27 марта в 19:27

Если работаете с докером, то композер нужно запускать из контейнера, а не локальный.

Аватар пользователя gun_dose gun_dose 27 марта в 20:37
1

Друпал тут вообще ни при чём. Нужно зайти в контейнер и выполнять команды оттуда. Такое чувство, что все пытаются использовать докер, даже не разбираясь, что это такое.

То что вы делаете - это то же самое, что купить себе машину, сесть на автобус, приехать на заправку на автобусе и пытаться заправить машину, которая осталась стоять возле дома.