Laravel 8安装yajra/laravel-datatables-oracle依赖冲突求助
安装yajra/laravel-datatables-oracle时遇到依赖冲突问题
操作与错误信息
执行以下安装命令:
composer require yajra/laravel-datatables-oracle
出现依赖解析失败错误:
Your requirements could not be resolved to an installable set of packages. Problem 1 - yajra/laravel-datatables[dev-master, v9.0.0] require yajra/laravel-datatables-oracle 10.* -> satisfiable by yajra/laravel-datatables-oracle[v10.0.0, ..., 10.x-dev (alias of dev-master)]. - yajra/laravel-datatables-oracle 10.x-dev is an alias of yajra/laravel-datatables-oracle dev-master and thus requires it to be installed too. - yajra/laravel-datatables-oracle[dev-master, v10.0.0, ..., v10.1.2] require illuminate/database ^9 -> found illuminate/database[v9.0.0-beta.1, ..., 9.x-dev] but these were not loaded, likely because it conflicts with another require. - yajra/laravel-datatables 9.0.x-dev is an alias of yajra/laravel-datatables dev-master and thus requires it to be installed too. - Root composer.json requires yajra/laravel-datatables ^9.0 -> satisfiable by yajra/laravel-datatables[v9.0.0, 9.0.x-dev (alias of dev-master)]. Installation failed, reverting ./composer.json and ./composer.lock to their original content.
当前环境
- Laravel框架版本:v8.83.22
- PHP版本:8.0.8
composer.json内容
{ "name": "laravel/laravel", "type": "project", "description": "The Laravel Framework.", "keywords": ["framework", "laravel"], "license": "MIT", "require": { "php": "^7.3|^8.0", "barryvdh/laravel-dompdf": "^1.0.0", "fruitcake/laravel-cors": "^2.0", "guzzlehttp/guzzle": "^7.0.1", "intervention/image": "^2.6", "jimmyjs/laravel-report-generator": "^2.1", "laravel/framework": "^8.54", "laravel/sanctum": "^2.11", "laravel/tinker": "^2.5", "laravel/ui": "^3.3", "laraveldaily/laravel-invoices": "3.0", "pragmarx/tracker": "^4.0", "rap2hpoutre/fast-excel": "^4.0", "simplesoftwareio/simple-qrcode": "^4.2" }, "require-dev": { "barryvdh/laravel-debugbar": "^3.6", "facade/ignition": "^2.5", "fakerphp/faker": "^1.9.1", "laravel/sail": "^1.0.1", "mockery/mockery": "^1.4.2", "nunomaduro/collision": "^5.0", "phpunit/phpunit": "^9.3.3" }, "autoload": { "psr-4": { "App\\": "app/", "Database\\Factories\\": "database/factories/", "Database\\Seeders\\": "database/seeders/" } }, "autoload-dev": { "psr-4": { "Tests\\": "tests/" } }, "scripts": { "post-autoload-dump": [ "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", "@php artisan package:discover --ansi" ], "post-update-cmd": [ "@php artisan vendor:publish --tag=laravel-assets --ansi" ], "post-root-package-install": [ "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" ], "post-create-project-cmd": [ "@php artisan key:generate --ansi" ] }, "extra": { "laravel": { "dont-discover": [] } }, "config": { "optimize-autoloader": true, "preferred-install": "dist", "sort-packages": true }, "minimum-stability": "dev", "prefer-stable": true }
注:composer.json中仅指定了最低依赖要求。
解决方案
问题核心是默认安装的yajra/laravel-datatables-oracle 10.x版本要求Laravel 9+,而当前项目使用Laravel 8.x,需指定兼容Laravel 8的9.x版本执行安装:
composer require yajra/laravel-datatables-oracle:^9.0
内容的提问来源于stack exchange,提问作者The Only Smart Boy
相关产品推荐
相关产品推荐

