【问题标题】:Laravel 5.1 to 5.2 composer update errorLaravel 5.1 到 5.2 作曲家更新错误
【发布时间】:2015-12-24 15:51:50
【问题描述】:

每当我尝试运行 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()

【问题讨论】:

标签: php laravel composer-php laravel-5.2


【解决方案1】:

来自 Laravel 5.2 升级指南

单独的命令和处理程序

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

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

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

检查服务提供商

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

【讨论】:

  • 这就是问题所在,为什么我在执行单独升级时需要安装这个包,而我一开始没有使用它?
  • 安装不能解决问题。
  • 错误来自哪里?有东西试图调用该方法。
  • 我将发布完整的堆栈跟踪
  • 你在 app/Providers 中有一个 BusServiceProvider 需要调整。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-30
  • 1970-01-01
  • 2018-10-13
  • 2015-11-26
  • 2018-08-03
  • 2016-07-22
相关资源
最近更新 更多