Laravel artisan でClassloader のエラーが発生 – composer dumpautoload でオートロード設定を更新

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

こんばんは、ウチイダです。

Laravel にいろいろなパッケージを追加していたところ、あるタイミングからartisan コマンドの実行で以下のようなエラーが発生するようになりました。

例ではEvent クラスの生成コマンドを試していますが、ほかのコマンドでも同様です。

$ php artisan event:generate

   ErrorException

  include(/var/www/html/vendor/composer/../../app/Events/Something.php): Failed to open stream: No such file or directory

  at vendor/composer/ClassLoader.php:571
    567▕  * @private
    568▕  */
    569▕ function includeFile($file)
    570▕ {
  ➜ 571▕     include $file;
    572▕ }
    573▕

      +2 vendor frames
  3   [internal]:0
      Composer\Autoload\ClassLoader::loadClass()

      +27 vendor frames
  31  artisan:37
      Illuminate\Foundation\Console\Kernel::handle()

どうやら、Composerのオートロードがうまく動作していないようです。

Composerでのパッケージ追加中に、何かの操作をミスったか、composer.jsonの設定を間違えたようです。

以下のコマンドで修正をかけます。

$ composer dumpautoload
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: barryvdh/laravel-debugbar
Discovered Package: laravel/sail
Discovered Package: laravel/sanctum
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Discovered Package: spatie/laravel-ignition

# ... 他にもいろいろ表示されました ...

Package manifest generated successfully.
Generated optimized autoload files containing 5207 classes

再度、Event クラスの生成を試したところ、うまくいきました。

$ artisan event:generate
Events and listeners generated successfully.

以上です。あなたのお役に立てれば幸いです。

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。

コメントを残す

*