laravel - 将 Laravel 7 升级到 8

标签 laravel composer-php laravel-8 laravel-7

我使用的是 Laravel 7.3,由于需要插件,需要更新到 8

我正在阅读文档,但由于我是一个像英语一样的菜鸟,就像在计算中一样,我遇到了一些错误和问题

首先,我遵循的是:

更新composer.json 文件中的以下依赖项:

guzzlehttp/guzzle to ^7.0.1
facade/ignition to ^2.3.6
laravel/framework to ^8.0
laravel/ui to ^3.0
nunomaduro/collision to ^5.0
phpunit/phpunit to ^9.0

似乎还不够,因为这是 Composer 更新的返回

julien@julien-Lenovo-IdeaPad-S340-15IWL:/var/www/html/adopte$ composer update
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Conclusion: don't install cviebrock/eloquent-sluggable 7.0.2 (conflict analysis result)
    - laravel/framework[v8.0.0, ..., v8.11.2] require php ^7.3 -> your php version (8.0.3) does not satisfy that requirement.
    - cviebrock/eloquent-sluggable[7.0.0, ..., 7.0.1] require php ^7.2.5 -> your php version (8.0.3) does not satisfy that requirement.
    - illuminate/support[v7.0.0, ..., v7.28.4] require php ^7.2.5 -> your php version (8.0.3) does not satisfy that requirement.
    - Root composer.json requires cviebrock/eloquent-sluggable ^7.0 -> satisfiable by cviebrock/eloquent-sluggable[7.0.0, 7.0.1, 7.0.2, 7.x-dev].
    - Conclusion: don't install laravel/framework v8.12.1 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.12.2 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.12.3 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.13.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.14.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.15.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.16.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.16.1 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.17.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.17.1 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.17.2 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.18.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.18.1 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.19.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.20.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.20.1 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.21.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.22.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.22.1 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.23.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.23.1 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.24.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.25.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.26.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.26.1 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.27.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.28.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.28.1 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.29.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.30.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.30.1 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.31.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.32.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.32.1 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.33.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.33.1 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.34.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.35.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.35.1 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.36.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.36.1 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.36.2 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.37.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.38.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.39.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.40.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.41.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.42.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.42.1 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.43.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.44.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.45.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.45.1 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.46.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework v8.12.0 (conflict analysis result)
    - cviebrock/eloquent-sluggable 7.x-dev requires illuminate/support ^7.0 -> satisfiable by illuminate/support[v7.0.0, ..., 7.x-dev].
    - Only one of these can be installed: illuminate/support[dev-master, v4.0.0-BETA2, ..., 4.2.x-dev, v5.4.0, ..., 5.8.x-dev, v6.0.0, ..., 6.x-dev, v7.0.0, ..., 7.x-dev, v8.0.0, ..., 8.x-dev], laravel/framework[v8.0.0, ..., 8.x-dev]. laravel/framework replaces illuminate/support and thus cannot coexist with it.
    - Root composer.json requires laravel/framework ^8.0 -> satisfiable by laravel/framework[v8.0.0, ..., 8.x-dev].

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades, and removals for packages currently locked to specific versions.

所以我阅读了完整的文档,它说:

https://github.com/laravel/horizon/blob/master/UPGRADE.md php artisan 地平线:发布返回

  There are no commands defined in the "horizon" namespace.  

我假装文档的其余部分是特定于某些程序的,但我想不是我。

谁能帮帮我吗?

这是我的composer/json 文件:

{
    "name": "laravel/laravel",
    "type": "project",
    "description": "The Laravel Framework.",
    "keywords": [
        "framework",
        "laravel"
    ],
    "license": "MIT",
    "require": {
        "php": "^7.2|^7.3|^8.0",
        "cviebrock/eloquent-sluggable": "^7.0",
        "doctrine/dbal": "^2.10",
        "fideloper/proxy": "^4.4",
        "fruitcake/laravel-cors": "^2.0",
        "guzzlehttp/guzzle": "^7.0.1",
        "jenssegers/agent": "^2.6",
        "laravel/framework": "^8.0",
        "laravel/tinker": "^2.5",
        "laravel/ui": "^3.0",
        "livewire/livewire": "^2.4",
        "mcamara/laravel-localization": "^1.6",
        "unisharp/laravel-filemanager": "^2.2"
    },
    "require-dev": {
        "facade/ignition": "^2.3.6",
        "fakerphp/faker": "^1.9.1",
        "mockery/mockery": "^1.3.1",
        "nunomaduro/collision": "^5.0",
        "phpunit/phpunit": "^9.0"
    },
    "config": {
        "optimize-autoloader": true,
        "preferred-install": "dist",
        "sort-packages": true
    },
    "extra": {
        "laravel": {
            "dont-discover": []
        }
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/"
        },
        "classmap": [
            "database/seeds",
            "database/factories"
        ]
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "scripts": {
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover --ansi"
        ],
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate --ansi"
        ]
    }
}

最佳答案

Conclusion: don't install cviebrock/eloquent-sluggable 7.0.2 (conflict analysis result)

https://github.com/cviebrock/eloquent-sluggable

它在软件包文档中明确指出,您需要 Laravel 8 的软件包版本 8。

所以改变

"cviebrock/eloquent-sluggable": "^8.0",

laravel 文档包含升级 laravel 本身的说明。如果您还使用其他软件包,则也需要通过查找兼容版本来升级这些软件包

关于laravel - 将 Laravel 7 升级到 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67945595/

相关文章:

mysql - 借方余额 - 贷方使用 Eloquent

php - Composer 更新后 Symfony2 崩溃

php - 如何使用 Composer 确定项目的根目录

php - 关系有问题,找不到属性

laravel 8 外键

javascript - 将输入值检索到 formData 对象中

php - Laravel - 从 ajax 响应数据中的产品 (belongsTo) 访问子类别。

php - 根据 Laravel 中的上一页重定向到不同的页面

php - artisan clear-compiled 返回错误代码 255

php - 拉拉维尔 8 : Target class does not exist