2017-02-17 150 views
0

我最近决定从laravel 5.1升级到5.2。我composer.json文件如下:Laravel 5.2 - 班 '照亮 HTML HtmlServiceProvider' 未找到

{ 
    "name": "laravel/laravel", 
    "description": "The Laravel Framework.", 
    "keywords": ["framework", "laravel"], 
    "license": "MIT", 
    "type": "project", 
    "require": { 
    "php": ">=5.5.9", 
    "laravel/framework": "5.2.*", 
    "laracasts/flash": "dev-master", 
    "laravelcollective/html": "5.2.0", 
    "intervention/image": "^2.3", 
    "cviebrock/image-validator": "^2.0" 

    }, 
    "require-dev": { 
     "fzaninotto/faker": "~1.4", 
     "mockery/mockery": "0.9.*", 
     "phpunit/phpunit": "~4.0", 
     "phpspec/phpspec": "~2.1", 
     "symfony/dom-crawler": "~3.0", 
     "symfony/css-selector": "~3.0" 
}, 
"autoload": { 
    "classmap": [ 
     "database" 
    ], 
    "files": ["app/Http/helpers.php"], 
    "psr-4": { 
     "App\\": "app/" 
    } 
}, 
"autoload-dev": { 
    "classmap": [ 
     "tests/TestCase.php" 
    ] 
}, 
"scripts": { 
    "post-install-cmd": [ 
     "php artisan clear-compiled", 
     "php artisan optimize" 
    ], 
    "post-update-cmd": [ 
     "php artisan clear-compiled", 
     "php artisan optimize" 
    ], 
    "post-root-package-install": [ 
     "php -r \"copy('.env.example', '.env');\"" 
    ], 
    "post-create-project-cmd": [ 
     "php artisan key:generate" 
    ] 
}, 
"config": { 
    "preferred-install": "dist" 
}, 
"minimum-stability": "dev", 
"prefer-stable": true 
} 

我提供一个存储在我的app.php文件如下:

'providers' => [ 

    Illuminate\Auth\AuthServiceProvider::class, 
    // some more... 
    Illuminate\View\ViewServiceProvider::class, 
    Collective\Html\HtmlServiceProvider::class, 

    Laracasts\Flash\FlashServiceProvider::class, 
    Intervention\Image\ImageServiceProvider::class, 
    Cviebrock\ImageValidator\ImageValidatorServiceProvider::class, 

], 

'aliases' => [ 

    'App'  => Illuminate\Support\Facades\App::class, 
    // some more... 
    'Form'  => Collective\Html\FormFacade::class, 
    'Html'  => Collective\Html\HtmlFacade::class, 
    'Image'  => Intervention\Image\Facades\Image::class, 
], 

我做composer update并得到以下错误:

> C:\ProgramData\ComposerSetup\bin\composer.bat update 
Loading composer repositories with package information 
Updating dependencies (including require-dev) 
Nothing to install or update 
Generating autoload files 
> php artisan clear-compiled 


    [Symfony\Component\Debug\Exception\FatalErrorException] 
    Class 'Illuminate\Html\HtmlServiceProvider' not found  


Script php artisan clear-compiled handling the post-update-cmd event 
returned with error code 255 

当我尝试运行php artisan serve时,出现同样的错误。我已经尝试了所有常用的东西,如composer dump-autoload

这究竟是为什么和最新的解决?

+0

[Class'Illuminate \ Html \ HtmlServiceProvider'找不到Laravel 5](http://stackoverflow.com/questions/28541051/class-illuminate-html-htmlserviceprovider-not-found-laravel-5) –

+1

尝试删除供应商并首先运行'composer install' – apokryfos

+0

@feniix已经检查过所有可能的解决方案,包括您链接的解决方案并且无效。 – adam78

回答

0

设法解决。我在整个项目中进行了一次搜索,看它是否仍然被引用到任何地方。瞧,它仍然在macroserviceprovider中被引用,所以我改为使用Collective\Html\HtmlServiceProvider;来代替。

0

Class 'Illuminate\Html\HtmlServiceProvider' not found Laravel 5两者

首先加入这一行composer.json

"laravelcollective/html": "5.2.0" 

然后做一个composer update等待更新到完成,然后打开配置/ app.php补充一点:

Collective\Html\HtmlServiceProvider::class 

给提供者数组和这个:

'Form'  => Collective\Html\FormFacade::class, 
'Html'  => Collective\Html\HtmlFacade::class, 

添加到别名数组中,并确保在刀片中使用Html或在小写'Html'而非HTML中使用Html。

请注意,因为这回答说,你先添加composer.json线,然后做一个更新,然后添加行app.php。你不能把这两个步骤结合起来并让它工作。

+0

我已经尝试了所有从所有其他类似的帖子关于这个问题,包括上面的一切都停止工作的解决方案。 – adam78

+0

@ adam78我没有在composer.json中看到illuminate/html。你甚至可以在你的laravel安装目录中的任何地方找到这个类吗?确保你至少有。 –

+0

@Chad Fisher它不存在于vendor目录中,因为它已被取消。这就是为什么我使用LaravelCollective – adam78

相关问题