欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

为什么必须运行“ composer dump-autoload”命令才能使迁移在laravel中工作? 有大用 有大大用

为什么必须运行“ composer dump-autoload”命令才能使迁移在laravel中工作?

php

我已经在应用程序中构建了一些迁移类来创建所需的表,但是却不断出错。我需要运行以下命令:

composer dump-autoload

只有这样,它才能再次按预期工作。我做错了什么会产生此错误,或者这是迁移的正常行为?

以下是运行迁移过程时遇到的错误:

  [Symfony\Component\Debug\Exception\FatalErrorException]  
  Class 'CreateVideoStatusTable' not found

阅读 964

 收藏
 2020-05-29

共1个答案

小编典典

好的,我想我知道您遇到的问题。

基本上,由于Composer无法看到您正在创建的迁移文件,因此您必须运行dump-
autoload命令,该命令不会下载任何新内容,而是查找它需要再次包含的所有类。它只是重新生成项目中需要包含的所有类的列表(autoload_classmap.php),这就是为什么运行该命令后迁移仍在进行的原因。

如何修复(可能)您需要在composer.json文件中添加一些额外的信息。

"autoload": {
    "classmap": [
        "PATH TO YOUR MIGRATIONS FOLDER"
    ],
}

您需要将迁移文件夹的路径添加到类映射数组。然后运行以下三个命令…

php artisan clear-compiled 
composer dump-autoload
php artisan optimize

这将清除当前已编译的文件,更新所需的类,然后将它们写回,因此您无需再次执行。

理想情况下,您可以执行composer dump-autoload -o,以更快地加载网页。它不是默认值的唯一原因是,它花费了更长的时间来生成(但仅略微引人注意)。

希望您能设法将其排序,因为确实很烦人:(

2020-05-29


来自 https://codingdict.com/questions/29979


普通分类: