You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 8升级至Laravel 9遇Composer依赖错误,求解决方案

解决Laravel 8升级到Laravel 9的Composer依赖冲突问题

核心问题分析

报错中illuminate/support旧版本要求PHP 7,是因为你的部分依赖包仍停留在仅支持Laravel 8及以下的版本,拉取了旧版Laravel组件,与你指定的Laravel 9版本冲突。

具体修复步骤

  1. 更新不兼容的依赖包版本
    你的composer.json里多个包版本不支持Laravel 9,需调整为兼容版本:

    • spatie/laravel-translatable: ^4.6仅支持到Laravel 8,需升级至^6.0
    • laravel/dusk: ^6.20是Laravel 8适配版本,需改为^7.0
    • barryvdh/laravel-debugbar: ^3.6不支持Laravel 9,需升级至^3.8或更高
    • laravel/sanctum: ^2.11可升级至^3.0(Laravel 9推荐版本)

    修改后的composer.json依赖节选:

    "require": {
        "php": "^8.0",
        "fakerphp/faker": "^1.17",
        "fruitcake/laravel-cors": "^2.0",
        "guzzlehttp/guzzle": "^7.0.1",
        "laravel/framework": "^9.0",
        "laravel/sanctum": "^3.0",
        "laravel/tinker": "^2.7",
        "spatie/laravel-translatable": "^6.0"
    },
    "require-dev": {
        "barryvdh/laravel-debugbar": "^3.8",
        "spatie/laravel-ignition": "^1.0",
        "laravel/dusk": "^7.0",
        "laravel/sail": "^1.0.1",
        "mockery/mockery": "^1.4.4",
        "nunomaduro/collision": "^6.1",
        "phpunit/phpunit": "^9.5.10"
    }
    
  2. 清理缓存并重新安装依赖
    执行以下命令彻底清理旧依赖和缓存:

    composer clear-cache
    rm -rf vendor composer.lock
    composer install
    
  3. 排查剩余冲突(若仍报错)
    如果执行后仍有错误,运行composer why-not laravel/framework:^9.0,该命令会明确列出阻止Laravel 9安装的具体依赖包,针对性调整对应包版本即可。

额外注意事项

  • Laravel 9要求PHP最低版本为8.0.2,你的当前版本8.1.2符合要求
  • 依赖安装完成后,运行php artisan migrate和php artisan optimize完成后续配置更新

内容的提问来源于stack exchange,提问作者Dom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 07:27:22