执行"Composer dumpaudoload"报错,不知如何解决?

谷歌百度了很多文章都没有解决,你们有遇到吗?报错信息如下

vagrant@homestead:~/Code/laravel-shop$ composer dump-autoload
Generating optimized autoload files
PHP Fatal error:  Uncaught TypeError: Argument 1 passed to Composer\Autoload\ClassLoader::addClassMap() must be of the type array, integer given, called in phar:///usr/local/bin/composer/src/Composer/Autoload/AutoloadGenerator.php on line 760 and defined in phar:///usr/local/bin/composer/vendor/composer/ClassLoader.php:92
Stack trace:
#0 phar:///usr/local/bin/composer/src/Composer/Autoload/AutoloadGenerator.php(760): Composer\Autoload\ClassLoader->addClassMap(1)
#1 phar:///usr/local/bin/composer/src/Composer/Autoload/AutoloadGenerator.php(303): Composer\Autoload\AutoloadGenerator->getStaticFile('d0463f632f7322b...', '/home/vagrant/C...', '/home/vagrant/C...', '/home/vagrant/C...', 50600)
#2 phar:///usr/local/bin/composer/src/Composer/Command/DumpAutoloadCommand.php(75): Composer\Autoload\AutoloadGenerator->dump(Object(Composer\Config), Object(Composer\Repository\InstalledFilesystemRepository), Object(Composer\Package\RootPackage), Object(Composer\Installer\InstallationManager), '/home/vagrant/C...', true)
#3 phar:///usr/local/ in phar:///usr/local/bin/composer/vendor/composer/ClassLoader.php on line 92

Fatal error: Uncaught TypeError: Argument 1 passed to Composer\Autoload\ClassLoader::addClassMap() must be of the type array, integer given, called in phar:///usr/local/bin/composer/src/Composer/Autoload/AutoloadGenerator.php on line 760 and defined in phar:///usr/local/bin/composer/vendor/composer/ClassLoader.php:92
Stack trace:
#0 phar:///usr/local/bin/composer/src/Composer/Autoload/AutoloadGenerator.php(760): Composer\Autoload\ClassLoader->addClassMap(1)
#1 phar:///usr/local/bin/composer/src/Composer/Autoload/AutoloadGenerator.php(303): Composer\Autoload\AutoloadGenerator->getStaticFile('d0463f632f7322b...', '/home/vagrant/C...', '/home/vagrant/C...', '/home/vagrant/C...', 50600)
#2 phar:///usr/local/bin/composer/src/Composer/Command/DumpAutoloadCommand.php(75): Composer\Autoload\AutoloadGenerator->dump(Object(Composer\Config), Object(Composer\Repository\InstalledFilesystemRepository), Object(Composer\Package\RootPackage), Object(Composer\Installer\InstallationManager), '/home/vagrant/C...', true)
#3 phar:///usr/local/ in phar:///usr/local/bin/composer/vendor/composer/ClassLoader.php on line 92
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
DianWang
最佳答案

简单粗暴的方法就是删除vendor目录,重新composer install;dump-autoload命令执行的场景,是在composer.json中新增依赖或类时,只更新autoloader索引,而不重新更新所有依赖,在vendor/composer/文件夹下一堆autoload文件,你可以研究一下,要是没时间,就直接删掉重新安装依赖。

5年前 评论
gaoxiang 4年前
softer 4年前
讨论数量: 2
DianWang

简单粗暴的方法就是删除vendor目录,重新composer install;dump-autoload命令执行的场景,是在composer.json中新增依赖或类时,只更新autoloader索引,而不重新更新所有依赖,在vendor/composer/文件夹下一堆autoload文件,你可以研究一下,要是没时间,就直接删掉重新安装依赖。

5年前 评论
gaoxiang 4年前
softer 4年前

我是在homestead的环境下发生这个问题的。同样的代码,Windows环境执行没有问题。

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!