Ошибка "Target class [core.composer] does not exist" при переходе на OctoberCMS 4 — решение

Проблема при апдейте с OctoberCMS 3.x на 4.x - Target class [core.composer] does not exist.

При обновлении OctoberCMS с версии 3.x на 4.x вы можете столкнуться со следующими ошибками:

Target class [core.composer] does not exist.

и/или

 Class "core.composer" does not exist

Эти ошибки означают, что Laravel не может найти или корректно загрузить сервис core.composer, который является частью ядра OctoberCMS.

❗ Причины ошибки

Наиболее частые причины:

  • В проекте всё ещё используется старая версия october/rain (^3.0), несмотря на "^4.0" в composer.json.
  • Один из плагинов содержит свою локальную копию vendor/, в которой осталась старая версия october/rain.
  • Laravel автозагрузчик (autoload) использует неверную копию класса — из плагина, а не из основного vendor/.

✅ Решение проблемы пошагово

🔎 Шаг 1: Убедись, что в composer.json прописаны корректные версии

"october/system": "^4.0",
"october/rain": "^4.0",
"laravel/framework": "^12.0"

🧼 Шаг 2: Удали старый vendor/, composer.lock и все закэшированные пакеты

rm -rf vendor/
rm composer.lock
composer clear-cache

🧪 Шаг 3: Проверь, нет ли у плагинов собственного vendor/ каталога

Это самая частая причина.

Пример (❌ неправильно):

plugins/
  yourvendor/
    yourplugin/
      vendor/       ← ❌ УДАЛИТЬ!
      composer.lock ← ❌ УДАЛИТЬ!

Если внутри какого-либо плагина есть vendor/, удалите его вручную — Laravel может загружать классы именно оттуда, обходя основную автозагрузку.

🔄 Шаг 4: Переустанови зависимости заново

composer install

🚀 Шаг 5 (опционально): Очисти кэш

php artisan cache:clear

🧠 Заключение

В 99% случаев ошибка Target class [core.composer] does not exist вызвана конфликтом между старой и новой версией october/rain, либо автозагрузкой Laravel, которая уходит в ненужный vendor/.

После удаления локальных vendor/ в плагинах, чистки кэша и установки зависимостей — проблема исчезает.

Если вы столкнулись с этой ошибкой при обновлении проекта на OctoberCMS 4 — следуйте шагам выше, и всё заработает!

Можно ещё почитать:
Loading...
Пожалуйста ждите...