从Laravel 5.1升级到5.2.0时出现错误

14

在执行composer update命令时出现了错误。

图片描述

我的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"
    }
}
3个回答

39
您需要移除这个已过时且不再支持的包:
"illuminate/html": "^5.0",

当您删除它时,还需要删除其服务提供程序/别名。因此,如果您打开 config/app.php,您将看到一个提供程序和别名的部分。如果您尚未这样做,请删除这些代码行。

'Illuminate\Html\HtmlServiceProvider'

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

你应该安装Laravel集体包来替代它。要安装它,请将illuminate/html包替换为以下内容:

取而代之,您应该安装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


2
如果您仍然遇到错误,请在版本号前面加上插入符号: "laravelcollective/html": "^5.4.6" - Krzysztof Wołowski
我应该把 "laravelcollective/html": "^5.4.6" 放在哪里? - radren

3

3

我通过以下步骤解决了问题:链接1 链接2

升级后,请确保将链接2中提到的弃用项在您当前的应用程序中进行纠正。对我来说,需要从所有中间件中删除Illuminate\Contracts\Routing\Middleware

此外,我还需要安装某些包的最新版本,例如"yajra/laravel-datatables-oracle": "~6.1.1"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接