web-dev-qa-db-fra.com

Laravel Mise à niveau vers 5.2.0 à partir de l'erreur 5.1

Obtenir l'erreur sur composer update commande.

enter image description here

Mon fichier composer.json est:

{
    "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"
    }
}
14
Kiren Siva

Vous devez supprimer ce package obsolète (retiré du noyau et non plus pris en charge):

"illuminate/html": "^5.0",

Lorsque vous le supprimez, vous devez également supprimer ses fournisseurs de services/alias. Donc, si vous ouvrez config/app.php, vous verrez une section fournisseurs et alias. Supprimez ces lignes de code si vous ne l'avez pas déjà fait.

'Illuminate\Html\HtmlServiceProvider'

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

Au lieu de cela, vous devez installer le package collectif Laravel. Pour l'installer, remplacez le illuminate/html package avec ceci:

"laravelcollective/html": "5.2.*"

Puis dans votre config/app.php fichier, ajoutez ceci à votre tableau de fournisseurs:

Collective\Html\HtmlServiceProvider::class

et ceci à votre tableau d'alias:

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

Les documents peuvent être trouvés ici: https://laravelcollective.com/docs/5.2/html

39
Thomas Kim

Je l'ai résolu par les étapes mentionnées dans Link1Link2

Après la mise à niveau, assurez-vous que toutes les dépréciations mentionnées dans Link2 sont corrigées dans votre application actuelle. Pour moi Illuminate\Contracts\Routing\Middleware a dû être supprimé de tous les Middlewares.

J'ai également dû installer la dernière version de certains packages comme "yajra/laravel-datatables-Oracle": "~6.1.1",

3
Kiren Siva

Regarde ça
https://laracasts.com/discuss/channels/laravel/call-to-undefined-method-illuminatefoundationapplicationbindshared

Citation "bindShared a été renommé en $ app-> singleton ()"

[Modifier] Je pense que vous avez quelque chose est votre propre code personnalisé qui doit être changé de: $ this-> app-> bindShared () à: $ this-> app-> singleton ().

3
Mainpixel.io