【问题标题】:composer dump-autoload do nothing作曲家转储自动加载什么都不做
【发布时间】:2018-06-29 13:30:40
【问题描述】:

我正在尝试在 Laravel 项目上执行命令 composer dump-autoload,但它什么也没做。它只写入Generating optimized autoload files,然后停止。

我在另一个项目上尝试过,效果很好(发现了包,等等)。

在更新 composer (composer self-update) 后,我也尝试过,在检查我的 composer.json 是否正确 (composer validate) 之后。什么都没有改变...

命令composer update 在更新部分运行良好,但在到达转储自动加载部分时效果相同。

有人有解决办法吗?

谢谢!

【问题讨论】:

标签: laravel composer-php


【解决方案1】:

检查您的composer.jsonpre-install-cmdpost-autoload-dump 是否丢失。

你的scripts 应该是这样的

{
    "scripts": {
        "pre-install-cmd": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover"
        ]
    }        
}

如果问题仍然存在,请运行 composer dump-autoload -vvv 并检查详细错误。

【讨论】:

  • 我的文件缺少“post-autoload-dump”和“postAutoloadDump”方法。我从另一个项目中添加了它们。现在说“php artisan package:discover”不存在,但我当前的项目是在 Laravel 5.4 上,所以我认为这就是原因。
  • 尝试在您的控制台php artisan package:discover 中手动运行。另外,检查您是否有 artisan 文件在执行 ls -la | grep artisan
猜你喜欢
  • 2016-10-20
  • 2015-12-16
  • 2015-04-06
  • 2013-12-16
  • 1970-01-01
  • 1970-01-01
  • 2017-08-25
  • 2013-03-05
  • 1970-01-01
相关资源
最近更新 更多