@BarneyGumble

Почему не получается подружить Elasticsearch и Laravel Scout?

Решил протестить 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

Что делаю не так?
  • Вопрос задан
  • 183 просмотра
Решения вопроса 1
dima9595
@dima9595
Junior PHP
Согласно документации не нужно указывать какие-либо сервис-провайдеры в файле app.php.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы