找不到类“NunoMaduro\Collision\Adapters\Laravel\CollisionServiceProvider”

Shu*_*ker 2 javascript php mysql laravel vue.js

尝试在 Laravel 项目中安装 Composer 时出现此错误。

Illuminate\Foundation\ComposerScripts::postAutoloadDump @php artisan package:discover 在 ProviderRepository.php 第 208 行:

类“NunoMaduro \碰撞\适配器\ Laravel \ CollisionServiceProvider”没有
找到
脚本@php工匠包:探索处理后自动加载转储事件,错误代码1返回

8ct*_*pus 6

在您的情况下,问题是运行后composer install --no-devphp artisan package:discover会自动运行。

每当php artisan command失败时,它都会尝试使用该类NunoMaduro\Collision\Adapters\Laravel\CollisionServiceProvider进行错误处理,该类仅在使用 laravel 开发包时安装。正如您所看到的composer.json,碰撞发生在require-dev组中。

    "require-dev": {
        "nunomaduro/collision": "^6.1",
    },
Run Code Online (Sandbox Code Playgroud)

该问题可以通过以下方式解决:

  • 将依赖项移至该require部分
  • 或找出导致artisan命令错误的原因。

就我而言,要么是过时的 php 文件,要么是bootstrap/cache目录中的权限问题。

  • 删除 `bootstrap/cache` 修复了问题:`rm -f bootstrap/cache/*.php` (3认同)
  • 谢谢 - 这个答案解决了根本问题,而不仅仅是建议更改composer.json (2认同)

小智 5

将我的应用程序部署到 Google App Engine 时遇到了这个问题。我发现通过在我的 composer.json 中将 "nunomaduro/collision": "^2.0" 从 "require-dev" 移动到 "require" 解决了这个问题。