问题描述
我正在使用Laravel 5.6。*和Laravel Scout ^ 7.1和Algolia进行项目开发,我刚刚安装了Guzzle 7.0。
Scout和Algolia之前工作正常,但是现在当我尝试保存模型时,在Sentry中出现了一个错误,如下所示:
Symfony\Component\Debug\Exception\FatalThrowableError
Undefined class constant 'VERSION'
看看Sentry中的细节,我发现这与Guzzle有关。错误源自文件:
/vendor/algolia/algoliasearch-client-php/src/Support/UserAgent.php in Algolia\AlgoliaSearch\Support\UserAgent::getDefaultSegments at line 50
代码如下:
if (interface_exists('\GuzzleHttp\ClientInterface')) {
$segments['Guzzle'] = \GuzzleHttp\ClientInterface::VERSION;
}
\GuzzleHttp\ClientInterface::VERSION
似乎是导致错误的原因。不知道该怎么办。我安装了不兼容的Guzzle版本或其他版本吗?我可以配置Scout来告诉它不要尝试使用Guzzle,并默认安装它之前所做的一切吗?
编辑:也许想想如果我更新了可能解决了该问题的Scout,那么我运行了composer update laravel/scout
。仍然有同样的错误。
编辑2:继续前进,只是使用Composer更新了所有内容。该错误现在似乎已解决。只是重新创建它,而没有再次得到该错误。
解决方法
请参阅原始帖子中的第二个编辑。 Composer更新了所有已解决的问题。