0

将我的项目从 Laravel v5.7.11 更新到 v6.0.3 后,我在末尾收到以下错误composer update

Writing lock file
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDum
@php artisan package:discover

   InvalidArgumentException  : Unable to find observer: App\Observer\ClientObserver

  at /usr/local/var/www/system-panel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasEvents.php:86
    82|         if (class_exists($class)) {
    83|             return $class;
    84|         }
    85| 
  > 86|         throw new InvalidArgumentException('Unable to find observer: '.$class);
    87|     }
    88| 
    89|     /**
    90|      * Get the observable event names.

  Exception trace:

  1   Illuminate\Database\Eloquent\Model::resolveObserverClassName("App\Observer\ClientObserver")
      /usr/local/var/www/system-panel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasEvents.php:56

  2   Illuminate\Database\Eloquent\Model::registerObserver("App\Observer\ClientObserver")
      /usr/local/var/www/system-panel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasEvents.php:42

ClientObserver 类位于 App 目录中的 Observers 目录中。App/Observers/ClientObserver

客户端观察者定义如下:

<?php

namespace App\Observers;

use App\Models\Passport\Client;
use Uuid;

class ClientObserver
{
     ....
}

我希望该功能可以像以前一样运行,没有问题。除了更新软件包之外,没有任何变化。

php artisan也不再起作用,它返回相同的错误。

有没有人遇到过这个问题,如果有,解决方法是什么?

4

1 回答 1

4

问题出在我的AppServiceProvider.php. 使用语句引用单数而不是ClientObserver 所在App\Observer的预期目录名称。App\Observers

更新后,命令运行没有错误。

于 2019-09-17T03:09:30.760 回答