首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法将需求解析为可安装的软件包集。yajra/laravel-数据-甲骨文

无法将需求解析为可安装的软件包集。yajra/laravel-数据-甲骨文
EN

Stack Overflow用户
提问于 2022-07-25 10:45:02
回答 2查看 1.5K关注 0票数 0

我试图使用以下命令安装yajra/laravel-datatables oracle:

代码语言:javascript
复制
composer require yajra/laravel-datatables-oracle

但我得到了以下错误:

代码语言:javascript
复制
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。

Bellow是我的composer.json文件,显示了我的所有依赖项和需求。

代码语言:javascript
复制
      {
"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
}

注意,这些需求只是最低限度的需求,比如我安装了8.0.8版本的php,laravel框架是v8.83.22。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-07-25 15:11:40

正如一位用户所提到的,您需要使用以前的版本(9),因为最新的版本(10)只支持Laravel 9.x+,而您正在使用Laravel 8.x

代码语言:javascript
复制
composer require yajra/laravel-datatables-oracle:^9.0

我还看到你提到:

尝试了以下错误: InvalidArgumentException包yajra/laravel-datatables-oracle在版本9.0中的PHP要求与您的PHP版本、PHP扩展和编写版本不兼容:-yajra/laravel-datatables-oraclev9.0.0需要php ^7.1.3,它与您安装的8.0.8版本不匹配。

这意味着您使用的是PHP 8.0,但yajra/laravel-datatables-oracle:^9.0只支持7.1 <= PHP > 8.0,所以请使用下面一个:

代码语言:javascript
复制
composer require yajra/laravel-datatables-oracle:^9.21.2

该版本的composer.json如下所示:

代码语言:javascript
复制
"require": {
  "php": "^7.1.3|^8",
  "illuminate/database": "5.8.*|^6|^7|^8|^9",
  "illuminate/filesystem": "5.8.*|^6|^7|^8|^9",
  "illuminate/http": "5.8.*|^6|^7|^8|^9",
  "illuminate/support": "5.8.*|^6|^7|^8|^9",
  "illuminate/view": "5.8.*|^6|^7|^8|^9"
},

这意味着它将允许您使用任何Laravel >= 5.8.x,但也允许您使用PHP >= 7.1

Yajra版本的composer.json以前不支持这一点,这就是为什么它对您失败的原因:

代码语言:javascript
复制
"require": {
  "php": "^7.1.3",
  "illuminate/database": "5.8.*",
  "illuminate/filesystem": "5.8.*",
  "illuminate/http": "5.8.*",
  "illuminate/support": "5.8.*",
  "illuminate/view": "5.8.*"
},

您可以看到它只支持Laravel5.8和7.1 <= PHP > 8.0

票数 4
EN

Stack Overflow用户

发布于 2022-07-25 11:34:55

这个特定包的最新版本是10.x,它只受Laravel 9.x和更高版本的支持。

您使用的composer require将引入不受Laravel 8安装支持的版本10.x,因此向composer提供了Laravel 8.x支持的软件包的特定版本

代码语言:javascript
复制
composer require yajra/laravel-datatables-oracle:^9.0

你可以检查一下包GitHub页面上的版本兼容性

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73107925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档