11

每当我尝试运行 composer update 时,我现在都会收到一个错误,其根本原因如下

调用未定义的方法 Illuminate\Bus\Dispatcher::mapUsing()

我可以确认 Laravel 5.2 已正确安装,所有其他依赖项也是如此。这仅在运行 php artisan clear-compiled 时发生。

我还根据几个小时前 Laracasts 论坛中的建议更新了我的基本控制器

use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;

abstract class Controller extends BaseController
{
    use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
}

但我仍然收到错误

更新:只要应用程序被引导,就会发生这种情况。我的应用程序现在甚至无法运行。

更新 2,完整的堆栈跟踪:

PHP Fatal error:  Call to undefined method Illuminate\Bus\Dispatcher::mapUsing() in /Users/Zara/Web/cafe/app/Providers/BusServiceProvider.php on line 16
PHP Stack trace:
PHP   1. {main}() /Users/Zara/Web/cafe/artisan:0
PHP   2. Illuminate\Foundation\Console\Kernel->handle() /Users/Zara/Web/cafe/artisan:36
PHP   3. Illuminate\Foundation\Console\Kernel->bootstrap() /Users/Zara/Web/cafe/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:105
PHP   4. Illuminate\Foundation\Application->bootstrapWith() /Users/Zara/Web/cafe/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:208
PHP   5. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /Users/Zara/Web/cafe/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:203
PHP   6. Illuminate\Foundation\Application->boot() /Users/Zara/Web/cafe/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17
PHP   7. array_walk() /Users/Zara/Web/cafe/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:718
PHP   8. Illuminate\Foundation\Application->Illuminate\Foundation\{closure}() /Users/Zara/Web/cafe/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:718
PHP   9. Illuminate\Foundation\Application->bootProvider() /Users/Zara/Web/cafe/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:717
PHP  10. Illuminate\Container\Container->call() /Users/Zara/Web/cafe/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:734
PHP  11. call_user_func_array:{/Users/Zara/Web/cafe/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /Users/Zara/Web/cafe/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
PHP  12. Cafe\Providers\BusServiceProvider->boot() /Users/Zara/Web/cafe/vendor/laravel/framework/src/Illuminate/Container/Container.php:507



  [Symfony\Component\Debug\Exception\FatalErrorException]
  Call to undefined method Illuminate\Bus\Dispatcher::mapUsing()
4

1 回答 1

8

来自 Laravel 5.2 升级指南

单独的命令和处理程序

Laravel 5.2 命令总线现在只支持自处理命令,不再支持单独的命令和处理程序。

如果你想继续使用单独的命令和处理程序,你可以安装一个 Laravel Collective 包,它为此提供向后兼容的支持:https ://github.com/LaravelCollective/bus

不再支持映射器的非自我处理命令;将命令映射到处理程序。

检查服务提供商

检查您已注册的任何服务提供商,以确保他们没有在调度程序上调用该方法。如果仍然有这个问题,您可以尝试检查任何包服务提供商以确保他们没有调用该方法。

于 2015-12-24T18:51:46.953 回答