找不到类 'PredisClient' 循环



我在这里尝试了所有答案,但没有运气。

奇怪的是,如果我只是运行命令composer update得到这个:

forge@development:~/default$ composer update
Cannot create cache directory /home/forge/.composer/cache/repo/https---packagist.org/, or directory is not writable. Proceeding without cache
Cannot create cache directory /home/forge/.composer/cache/files/, or directory is not writable. Proceeding without cache
> php artisan clear-compiled
The compiled class file has been removed.
> php artisan ide-helper:generate

  [SymfonyComponentDebugExceptionFatalThrowableError]
  Class 'PredisClient' not found

跑步只是php artisan ide-helper:generate给我

  [SymfonyComponentDebugExceptionFatalThrowableError]
  Class 'PredisClient' not found

删除整个vendor目录然后运行composer install给了我这个输出。

这是我的composer.lock和我的composer.json文件。

运行命令composer require predis/predis也会返回相同的错误:

> php artisan clear-compiled
The compiled class file has been removed.
> php artisan ide-helper:generate

  [SymfonyComponentDebugExceptionFatalThrowableError]
  Class 'PredisClient' not found

你有什么想法吗?

更新

这是一个解决方法,但不是根本解决方案。运行:

 composer update --no-scripts

这将跳过

"scripts": {
    "post-install-cmd": [
       ..
    ],
    "pre-update-cmd": [
        "php artisan clear-compiled",
        "php artisan ide-helper:generate",
        "php artisan ide-helper:models -N",
        "php artisan optimize"
    ],

部分,这已经足够了。这确实看起来像是 laravel-ide-helper 的错误,很快就会报告错误。

来自laravel-ide-helper自述文件:

当您收到有关未找到的类的 FatalException 时,请检查您的配置(例如......不使用 Redis 服务提供商时将其删除(

因此,如果您不使用 Redis,请从config/app.php中删除RedisServiceProviderRedis别名。然后清除带有php artisan config:clear的配置缓存。

相关内容

  • 没有找到相关文章

最新更新