2017-02-17 153 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

相關問題