Перейти к основному содержанию

Drupal 9 — Class ReCaptcha\ReCaptcha not found

CAPTCHA

Один из посетителей смог написать мне сообщение о том, что на сайте не работает контактная форма. За что ему большое спасибо. Открываю браузер в режиме инкогнито, пишу сам себе, — действительно, ошибка.

В логах вижу:

Error: Class "ReCaptcha\ReCaptcha" not found in C:\web\drupal8\modules\recaptcha\recaptcha.module on line 162

Пошерстил форумы и понял, ошибка распространённая. По каким-то причинам при установке модуля Recaptcha не скачивается зависимая гугловая библиотека. Composer её в упор не видит.

Возможно, проблема появилась с одним из обновлений. Кривой модуль, кривой, не у всех хочет нормально устанавливаться. Ну нет так нет. Один из участников форума дал наводку на решение проблемы. Ludwig — вот что нам поможет. Этот модуль меня спасает уже второй раз.

Drupal 9 — модуль Ludwig, ручная альтернатива Composer

Сносим ReCaptcha скачиваем снова, но не устанавливаем.

https://www.drupal.org/project/recaptcha

drupal

Теперь нужно подружить модули Recaptcha и ludwig:

https://www.drupal.org/project/recaptcha/issues/3152474

Создаём в модуле файл ludwig.json:

{
  "require": {
    "google/recaptcha": {
      "version": "v1.2.4",
      "url": "https://github.com/google/recaptcha/archive/1.2.4.zip"
    }
  }
}

drupal

Отчёты → Пакеты (/admin/reports/packages). И модуль Ludwig подсасывает нам все необходимые PHP пакеты и их зависимости.

drupal

Ludwig нашёл гугловский модуль google/recaptcha на гитхабе и скачал в папку модуля. Можно это и вручную сделать, если очень захотеть. Я не захотел.

drupal

Теперь включаем Recaptcha на сайте.

drupal

Потом настраиваем как обычно, понадобятся токены. Но здесь статья не про настройку, а про исправление ошибки. Теперь форма с Recaptcha отрабатывает без проблем.

Теги

 

Похожие материалы

Drupal 9 — добавляем свой логотип на ссылки в Telegram и Яндекс Дзен

При отправке ссылки Telegram считывает метатеги на указанном URL, кеширует их и выводит на экран красивым блоком. Добавим в этот блок свой логотип.

Теги