2016-02-02 1 views
13

Ошибка при получении команды composer update.Laravel Upgrading To 5.2.0 From 5.1 error

enter image description here

Мой файл composer.json является:

{ 
    "name": "laravel/laravel", 
    "description": "The Laravel Framework.", 
    "keywords": ["framework", "laravel"], 
    "license": "MIT", 
    "type": "project", 
    "require": { 
     "php": ">=5.5.9", 
     "laravel/framework": "5.2.*", 
     "illuminate/html": "^5.0", 
     "barryvdh/laravel-debugbar": "~2.0", 
     "spatie/laravel-paginateroute": "^2.0", 
     "darkaonline/l5-swagger": "~2.0", 
     "yajra/laravel-datatables-oracle": "~5.0", 
     "phpoffice/phpexcel": "^1.8" 
    }, 
    "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/Helpers/helpers.php"], 
     "psr-4": { 
      "App\\": "app/" 
     } 
    }, 
    "autoload-dev": { 
     "classmap": [ 
      "tests/TestCase.php" 
     ] 
    }, 
    "scripts": { 
     "post-install-cmd": [ 
      "php artisan clear-compiled", 
      "php artisan optimize" 
     ], 
     "pre-update-cmd": [ 
      "php artisan clear-compiled" 
     ], 
     "post-update-cmd": [ 
      "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" 
    } 
} 

ответ

35

Вы должны удалить этот устаревший пакет (не извлеченные из ядра и больше не поддерживается):

"illuminate/html": "^5.0", 

Когда вы удалите его, то необходимо также удалить его поставщик услуг/псевдонимы. Итак, если вы откроете config/app.php, вы увидите раздел поставщиков и псевдонимов. Удалите эти строки кода, если вы этого еще не сделали.

'Illuminate\Html\HtmlServiceProvider' 

'Form'=> 'Illuminate\Html\FormFacade', 
'HTML'=> 'Illuminate\Html\HtmlFacade', 

Вместо этого вы должны установить коллективный пакет Laravel. Для того, чтобы установить, что заменить illuminate/html пакет с этим:

"laravelcollective/html": "5.2.*" 

Тогда в файле config/app.php, добавьте в ваш поставщиков массива:

Collective\Html\HtmlServiceProvider::class 

и это к вашему алиасы массива:

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

Документы можно найти здесь: https://laravelcollective.com/docs/5.2/html

+0

Если вы все еще получаете ошибки, просто поставить каретку перед номером версии: '«laravelcollective/html»:«^ 5.4.6»' – wolo

3

Посмотрите на это Цитата
https://laracasts.com/discuss/channels/laravel/call-to-undefined-method-illuminatefoundationapplicationbindshared

"bindShared была переименована в $ app-> одноплодной()"

[изменить] Я думаю, что у вас есть собственный собственный код, из которого нужно изменить: $ this-> app-> bindShared() в: $ this-> app-> singleton().

3

я решил ее шаги, упомянутые в Link1Link2

После обновления убедитесь, что все Устаревшие упомянутые в LINK2 исправляются в текущем приложении. Для меня Illuminate\Contracts\Routing\Middleware пришлось удалять со всех Посредников.

Кроме того, я должен был установить последнюю версию определенных пакетов, как "yajra/laravel-datatables-oracle": "~6.1.1",

 Смежные вопросы

  • Нет связанных вопросов^_^