Решил протестить Elasticsearch в связке с Laravel Scout. За основу взял
эту статью (пробовал и другие, финальный результат тот же, что и в сабже)
Попытка №1
composer require elasticsearch/elasticsearch
- ставлю сам ES для Laravel
composer require laravel/scout
- ставлю Scout последней версии (9.1)
composer require tamayo/laravel-scout-elastic
- ставлю рекомендуемый везде пакет для связки Scout и ES
Падает ошибка:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- tamayo/laravel-scout-elastic[8.0.0, ..., 8.0.2] require laravel/scout ^8.0 -> found laravel/scout[v8.0.0, ..., 8.x-dev] but it conflicts with your root composer.json require (^9.1).
- Root composer.json requires tamayo/laravel-scout-elastic ^8.0 -> satisfiable by tamayo/laravel-scout-elastic[8.0.0, 8.0.1, 8.0.2].
Понимаю для себя, что этот хвалёный пакет связки не обновлялся на гитхабе уже полгода и надо ему подсунуть нужную версию laravel/scout, поэтому меняю порядок действий и делаю так:
Попытка №2
composer require elasticsearch/elasticsearch
- ставлю сам ES для Laravel
composer require tamayo/laravel-scout-elastic
- ставлю этот же пакет, рассчитывая, что нужную версию laravel/scout он подхватит для себя сам в качестве зависимости, в подтверждение тому вижу в консоли что он подтянул laravel/scout:8.6.1
Теперь никаких ошибок, иду дальше:
Иду в
config/app.php и прописываю:
Laravel\Scout\ScoutServiceProvider::class,
ScoutEngines\Elasticsearch\ElasticsearchProvider::class,
Делаю
php artisan vendor:publish
Получаю новую ошибку:
Class 'ScoutElastic\ScoutElasticServiceProvider' not found
Что делаю не так?