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

Laravel 7升级至Laravel 9遇依赖冲突报错,求解决方案

Laravel 7 升级至 Laravel 9 依赖冲突问题及解决

冲突错误详情

  • macsidigital/laravel-api-client 3.3.0 至 3.3.4 版本要求 macsidigital/laravel-oauth2-client ^1.2,可匹配版本为1.2.0、1.2.1、1.2.x-dev、v1.x-dev
    • macsidigital/laravel-zoom 4.1.5 至 4.1.9 版本要求 macsidigital/laravel-api-client ^3.3,可匹配版本为3.3.0至3.3.5
    • macsidigital/laravel-oauth2-client 1.2.0 至 1.2.x-dev 版本要求 illuminate/support 7.0|8.0,仅支持Laravel7/8对应的support组件
    • Laravel9的laravel/framework会替代illuminate/support,二者无法共存,因此当前依赖链无法兼容Laravel9
    • mcamara/laravel-localization v1.7.0已支持Laravel9,无冲突
    • 结论:当前依赖组合无法安装Laravel9框架

Composer提示可使用--with-all-dependencies (-W)参数允许对锁定版本的包进行升级、降级或移除操作。

当前 composer.json 内容

{    
    "name": "laravel/laravel",    
    "type": "project",    
    "description": "The Laravel Framework.",    
    "keywords": [        
        "framework",        
        "laravel"    
    ],    
    "license": "MIT",    
    "require": {        
        "php": "^8.0",        
        "codezero/laravel-unique-translation": "^3.4",        
        "fideloper/proxy": "^4.4",        
        "fruitcake/laravel-cors": "^2.0",        
        "guzzlehttp/guzzle": "^7.0.1",        
        "laravel/framework": "^9.0",        
        "laravel/tinker": "^2.5",        
        "laravel/ui": "2.4",        
        "livewire/livewire": "^2.3",        
        "macsidigital/laravel-zoom": "^4.1",        
        "mcamara/laravel-localization": "v1.7.0",        
        "spatie/laravel-translatable": "^4.6",        
        "yoeunes/toastr": "^1.2"    
    },    
    "require-dev": {        
        "spatie/laravel-ignition": "^1.0",        
        "fakerphp/faker": "^1.9.1",        
        "mockery/mockery": "^1.3.1",        
        "nunomaduro/collision": "^6.1",        
        "phpunit/phpunit": "^9.3.3"    
    },    
    "config": {        
        "optimize-autoloader": true,        
        "preferred-install": "dist",        
        "sort-packages": true    
    },    
    "extra": {        
        "laravel": {            
            "dont-discover": [                
                "barryvdh/laravel-ide-helper"            
            ]        
        }    
    },    
    "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"        
        ]    
    }
}

解决步骤

  1. 升级冲突包版本
    修改composer.json中的以下依赖:

    • 将macsidigital/laravel-zoom从^4.1改为^5.0(5.x版本已适配Laravel9,其依赖的laravel-api-client4.x和laravel-oauth2-client2.x均支持Laravel9)
    • 将laravel/ui从2.4改为^3.0(3.x版本适配Laravel9)

    修改后的require段示例:

    "require": {
        "php": "^8.0",
        "codezero/laravel-unique-translation": "^3.4",
        "fideloper/proxy": "^4.4",
        "fruitcake/laravel-cors": "^2.0",
        "guzzlehttp/guzzle": "^7.0.1",
        "laravel/framework": "^9.0",
        "laravel/tinker": "^2.5",
        "laravel/ui": "^3.0",
        "livewire/livewire": "^2.3",
        "macsidigital/laravel-zoom": "^5.0",
        "mcamara/laravel-localization": "v1.7.0",
        "spatie/laravel-translatable": "^4.6",
        "yoeunes/toastr": "^1.2"
    }
    
  2. 执行更新命令
    运行以下Composer命令,允许更新所有依赖链:

    composer update --with-all-dependencies
    
  3. 验证兼容性
    如果仍有冲突,可逐一检查其他包的Laravel9支持情况,替换为对应兼容版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 23:45:44