“未找到类”,同时更新Laravel项目包

问题描述 投票:1回答:2

当Laravel项目运行composer update,我得到的错误:

Loading composer repositories with package information  
Installing dependencies (including require-dev) from lock file  
Nothing to install or update  
Generating optimized autoload files  
> Illuminate\Foundation\ComposerScripts::postAutoloadDump  
> @php artisan package:discover

In ProviderRepository.php line 208:

Class 'NunoMaduro\Collision\Adapters\Laravel\CollisionServiceProvider' not   
found                                                                        

Script @php artisan package:discover handling the post-autoload-dump event
returned with error code 1

我试图添加到composer.json

"extra": { "laravel": { "dont-discover": [ "laravel/dusk" ] } }

并清除缓存:

cd bootstrap/cache/
rm -rf *.php

没有什么帮助。

composer.json

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": "^7.1.3",
        "barryvdh/laravel-cors": "^0.11.2",
        "barryvdh/laravel-dompdf": "^0.8.3",
        "barryvdh/laravel-snappy": "^0.4.3",
        "fideloper/proxy": "^4.0",
        "guzzlehttp/guzzle": "~6.0",
        "h4cc/wkhtmltopdf-amd64": "0.12.x",
        "intervention/image": "^2.4",
        "knplabs/knp-snappy": "^1.1",
        "laravel/framework": "5.7.21",
        "laravel/passport": "^7.0",
        "laravel/socialite": "^4.0",
        "laravel/tinker": "^1.0",
        "unisharp/laravel-ckeditor": "^4.7"
    },
    "require-dev": {
        "beyondcode/laravel-dump-server": "^1.0",
        "filp/whoops": "^2.0",
        "fzaninotto/faker": "^1.4",
        "laravel/homestead": "^7.20",
        "mockery/mockery": "^1.0",
        "nunomaduro/collision": "^2.0",
        "phpunit/phpunit": "^7.0"
    },
    "autoload": {
        "classmap": [
            "database/seeds",
            "database/factories"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "extra": {
        "laravel": {
            "dont-discover": [
            ]
        }
    },
    "scripts": {
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate"
        ],
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover"
        ]
    },
    "config": {
        "preferred-install": "dist",
        "sort-packages": true,
        "optimize-autoloader": true
    },
    "minimum-stability": "dev",
    "prefer-stable": true
}

我怎么解决这个问题?

php laravel
2个回答
1
投票

如果正确安装了软件包和失踪类确实存在,尝试运行composer dump-autoload


0
投票

这有可能是你的vendor文件夹已损坏。只要重新安装你的包:

rm -rf vendor
rm composer.lock
composer install
© www.soinside.com 2019 - 2024. All rights reserved.