gpt4 book ai didi

Laravel 错误 - 类 setEventDispatcher 不存在

转载 作者:行者123 更新时间:2023-12-04 14:08:29 26 4
gpt4 key购买 nike

简洁版本

当我运行 php artisan serve 时出现此错误并访问我的主页:

ReflectionException (-1)
Class setEventDispatcher does not exist

细节

Laravel 版本:5.6.39
环境:本地
操作系统:macOS Mojave 10.14.2

它开始了,当我使用 npm 出现错误时(在另一个项目中),所以我重新安装了节点 (this way) .

这样做之后,这个项目(有问题)就无法启动了。运行 php artisan serve 时出现此错误:
dyld: Library not loaded: /usr/local/lib/libpng16.16.dylib with anything php related
Referenced from: /usr/local/bin/php
Reason: image not found

updating and upgrading brew 解决了该错误。 .

然后我就可以开始这个项目了( php artisan serve )。但是当我访问主页时,显示此错误:
ReflectionException (-1)
Class setEventDispatcher does not exist

如果我跟踪堆栈跟踪,那么我可以看到触发错误的是这一行(来自我的 homeController ):
if( ! Auth::check() ){
return view( 'pages.home' );
}

如果我将其注释掉,那么同样的错误发生在另一个地方, Auth -module 正在被使用。

这是堆栈跟踪:

setEventDispatcher does not exist error

有谁知道如何解决这个问题?我在 Google 上找不到任何有希望的结果,-而且我不知道为什么会发生这种情况... :-/

加法1

我试过 composer clear-cache并删除供应商文件夹,然后执行 composer install问题仍然存在。

正如马库斯建议的那样,我还检查了我的服务提供商,但我真的不知道在那里寻找什么。这一切看起来都很正常(没有花哨的 if 语句或任何东西)。

加法2

我意识到,我无法使用 Sequel Pro 连接到我的数据库。这是因为 Brew 将我的 MySQL 版本从 5.5 更新到了 8.0。

通过按照这些思路做一些事情来解决这个问题(我做了很多事情,所以我可能错过了几个步骤):
brew unlink mysql
brew install mysql@5.7
brew switch mysql 5.7.21
brew link mysql

然后我可以使用 mysql --version 验证版本.我对那个 MySQL-version-change 也有一些权限问题,但我正在发布它,所以这不会太长。

加法3

我尝试禁用 Laravel Debugbar (通过从 composer.json 中删除它,删除 composer.lockvendor 然后运行 ​​ composer install )。这解决了它! ... 但!

当我后来尝试安装 Barryvdh 的 IDE Helper ,然后又出现了完全相同的错误!?

我执行了这三个步骤来安装 IDE Helper(并重新引入错误):
  • 从我的目录的根目录运行此命令:curl https://gist.githubusercontent.com/barryvdh/5227822/raw/4be028a27c4ec782965bb8f2fdcb4c08c71a441d/_ide_helper.php -o _ide_helper.php
  • 将这些行添加到 app/Provider/AppServiceProvider.php :

  • ...
    if ($this->app->environment() !== 'production') {
    $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
  • 运行这个命令:composer require --dev barryvdh/laravel-ide-helper

  • 所以我回到了这个错误:
    ReflectionException (-1)
    Class setEventDispatcher does not exist

    ...堆栈跟踪与前面显示的相同(来自 Container.php)。

    最佳答案

    尝试了所有解决方案,但都没有奏效。

    最后,我意识到当尝试将 php 升级到 7.3.3 时,实际上是网络错误导致了失败。阅读日志,再次尝试,重新启动代客并再次尝试。

    现在可以了。

    升级到 7.3.3 确实是解决方案。

    谢谢!

    关于Laravel 错误 - 类 setEventDispatcher 不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53964061/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com