bunty's blog

ググったこととか勉強したことのメモ

Heroku で Laravel の seeder 実行時に Class 'Faker\Factory' not found となる場合の対処

Heroku 上で Laravel で作成したアプリケーションを動しているよきに発生したエラーの対応についてです。

発生したエラーについて

ローカルでは正常に動いていた seeder が、Heroku ではエラーになってしまいました。 下記が seeder 実行時のエラーです。Factory クラスが not found となっています。

+++ perl -le 'print crypt($ENV{"BASIC_AUTH_PASSWORD"}, rand(0xffffffff));'
++ echo -e hoge:35BnqOuchwx0M
+ unset i
+ php artisan db:seed --class=DatabaseSeeder
Seeding: FakeDataSeeder

In DatabaseServiceProvider.php line 78:
                                   
  Class 'Faker\Factory' not found  

対応方法

Heroku でのエラーに絞って調べてみたところ、下記の issue を見つけました。 やはり他の人も同じエラーに遭遇しているようで、コメントに記載されているように、composer.jsonrequire-dev に記載されている fzaninotto/fakerrequire に記載後に composer update を実行することで、エラーを解決できました。

github.com