【问题标题】:Can not run Seeding on Laravel无法在 Laravel 上运行播种
【发布时间】:2019-08-08 15:27:29
【问题描述】:
Docker 18.09.2
Mysql 5.7
Laravel 5.7
PHP 7.125

我是 Laravel 新手,遇到问题当我使用php artisan db:seed 时,出现了这个错误:

包括(/var/www/laravel_app/vendor/composer/../../database/seeds/AdminsTableSeeder.php): 无法打开流:没有这样的文件或目录

at /var/www/laravel_app/vendor/composer/ClassLoader.php:444
    440|  * Prevents access to $this/self from included files.
    441|  */
    442| function includeFile($file)
    443| {
  > 444|     include $file;
    445| }
    446|

我不知道为什么会这样。 我用php artisan migrate时没有报错。

我已经尝试过php artisan migrate --seedphp artisan migrate:refresh --seed。 谁能帮帮我?

【问题讨论】:

    标签: php laravel migration laravel-seeding


    【解决方案1】:

    您应该尝试使用composer dump-autoload

    来自this 的答案:

    基本上,因为 Composer 看不到你的迁移文件 创建时,您必须运行不会 下载任何新内容,但会查找它需要的所有类 再次包括。它只是重新生成所有需要的类的列表 被包含在项目中(autoload_classmap.php),这就是为什么 运行该命令后,您的迁移工作正常。

    【讨论】:

    • 感谢您的回答。我尝试了 composer dump-autoload 但出现错误。 bash: composer: command not found 我猜是因为我在 docker 上构建了一个 Laravel 项目。有没有办法在 docker 中使用 composer 命令?
    • 嘿@pop 我看到您将我的答案标记为已接受的答案,并且想知道与您上次尝试运行该命令相比发生了什么变化。发表评论以帮助未来的读者会很棒
    • 我以为我必须在我的 docker-container 中运行 composer dump-autoload,但这是错误的。我只是尝试在本地环境中使用该命令,然后它就起作用了。而且我似乎还有另一个解决方案,我在我的 docker-container 中安装了composer
    猜你喜欢
    • 1970-01-01
    • 2017-12-07
    • 2017-03-20
    • 2021-07-26
    • 2016-07-22
    • 2019-08-08
    • 2014-05-16
    • 2020-02-12
    • 2015-09-03
    相关资源
    最近更新 更多