При обновлении 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.autoload) использует неверную копию класса — из плагина, а не из основного vendor/.composer.json прописаны корректные версии"october/system": "^4.0",
"october/rain": "^4.0",
"laravel/framework": "^12.0"
rm -rf vendor/
rm composer.lock
composer clear-cache
Это самая частая причина.
Пример (❌ неправильно):
plugins/
yourvendor/
yourplugin/
vendor/ ← ❌ УДАЛИТЬ!
composer.lock ← ❌ УДАЛИТЬ!
Если внутри какого-либо плагина есть vendor/, удалите его вручную — Laravel может загружать классы именно оттуда, обходя основную автозагрузку.
composer install
php artisan cache:clear
В 99% случаев ошибка Target class [core.composer] does not exist вызвана конфликтом между старой и новой версией october/rain, либо автозагрузкой Laravel, которая уходит в ненужный vendor/.
После удаления локальных vendor/ в плагинах, чистки кэша и установки зависимостей — проблема исчезает.
Если вы столкнулись с этой ошибкой при обновлении проекта на OctoberCMS 4 — следуйте шагам выше, и всё заработает!