Проблема обновления Laravel с Larasearch
Я обновил приложение Laravel с 4.2 до 5.5, и, решая проблемы, я получил эту ошибку:
[2017-11-22 06:18:54] local.ERROR: Call to undefined method Illuminate\Foundation\Application::share() {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Call to undefined method Illuminate\\Foundation\\Application::share() at /home/.../vendor/iverberk/larasearch/src/Iverberk/Larasearch/LarasearchServiceProvider.php:139)
Хотя класс находится в папке vendor, и я не думаю, что мне следует к нему прикасаться... исходя из предположения, что пакет на самом деле работает с Laravel 5 (что в источнике пакетов говорит, что это так), я думаю, что у меня может быть что-то в моем собственном стек, который нуждается в исправлении.
Пакет распространяется от Laravels ServiceProvider
и метод, о котором идет речь, такой:
protected function registerCommands()
{
$this->app['iverberk.larasearch.commands.reindex'] = $this->app->share(function ($app)
{
return new ReindexCommand();
});
$this->app['iverberk.larasearch.commands.paths'] = $this->app->share(function ($app)
{
return new PathsCommand();
});
$this->commands('iverberk.larasearch.commands.reindex');
$this->commands('iverberk.larasearch.commands.paths');
}
Как начать отладку этой проблемы? ServiceProvider
класс не имеет share()
метод, это точно...
1 ответ
Решение
Я решил проблему локально и настроил собственный разветвленный репозиторий, поскольку владелец не отвечает ни на проблемы, ни на запросы извлечения.