无法将需求解析为一组可安装的软件包软件包、需求

2023-09-06 15:41:17 作者:咖啡加糖、甜到哀傷

我试图在 laravel-starter-kit 中安装 jasonlewis/enhanced-router 包,但当我运行 composer update 时它没有安装并出现一些错误.最初我认为问题出在 jasonlewis/enhanced-router ("jasonlewis/enhanced-router": "dev-master") 的 composer 行,但我删除了它并遇到了同样的错误.

I was trying to install jasonlewis/enhanced-router package in laravel-starter-kit, and when I run composer update it doesn't install and gives some errors. Initially I thought the problem was from the composer line for the jasonlewis/enhanced-router ("jasonlewis/enhanced-router": "dev-master") but I removed it and have the same error.

我试图搜索一些类似的问题,但无法弄清楚我遇到的依赖问题是什么.

I tried to search for some similar problems, but can't figure out what is the dependency problem I'm getting.

下面是我运行composer update后得到的结果:

Below is the result I get after running composer update:

Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Conclusion: remove laravel/framework 4.0.x-dev
    - Conclusion: don't install laravel/framework 4.0.x-dev
    - Conclusion: don't install laravel/framework v4.0.10
    - Conclusion: don't install laravel/framework v4.0.9
    - Conclusion: don't install laravel/framework v4.0.8
    - Conclusion: don't install laravel/framework v4.0.7
    - Conclusion: don't install laravel/framework v4.0.6
    - Conclusion: don't install laravel/framework v4.0.5
    - Conclusion: don't install laravel/framework v4.0.4
    - Conclusion: don't install laravel/framework v4.0.3
    - Conclusion: don't install laravel/framework v4.0.2
    - Conclusion: don't install laravel/framework v4.0.1
    - Conclusion: don't install laravel/framework v4.0.0
    - Conclusion: don't install laravel/framework v4.0.0-BETA4
    - Installation request for zizaco/confide dev-master -> satisfiable by zizaco/confide[dev-master].
    - Conclusion: don't install laravel/framework v4.0.0-BETA3
    - bllim/datatables dev-master requires illuminate/filesystem >=4.0.0 -> satisfiable by laravel/framework[4.0.x-dev,
4.1.x-dev, dev-master, 4.2.x-dev, v4.0.0, v4.0.1, v4.0.10, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7, v4.0.8, v4.0.
9, v4.1.0, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9], illuminat
e/filesystem[4.0.x-dev, 4.1.x-dev, dev-master, 4.2.x-dev, v4.0.0, v4.0.1, v4.0.10, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.
6, v4.0.7, v4.0.8, v4.0.9, v4.1.0, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4
.1.8, v4.1.9].
    - bllim/datatables 1.3.0 requires illuminate/filesystem >=4.0.0 -> satisfiable by laravel/framework[4.0.x-dev, 4.1.x
-dev, dev-master, 4.2.x-dev, v4.0.0, v4.0.1, v4.0.10, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7, v4.0.8, v4.0.9, v4
.1.0, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9], illuminate/fil
esystem[4.0.x-dev, 4.1.x-dev, dev-master, 4.2.x-dev, v4.0.0, v4.0.1, v4.0.10, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4
.0.7, v4.0.8, v4.0.9, v4.1.0, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8,
 v4.1.9].
    - bllim/datatables dev-master requires illuminate/filesystem >=4.0.0 -> satisfiable by laravel/framework[4.0.x-dev,
4.1.x-dev, dev-master, 4.2.x-dev, v4.0.0, v4.0.1, v4.0.10, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7, v4.0.8, v4.0.
9, v4.1.0, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9], illuminat
e/filesystem[4.0.x-dev, 4.1.x-dev, dev-master, 4.2.x-dev, v4.0.0, v4.0.1, v4.0.10, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.
6, v4.0.7, v4.0.8, v4.0.9, v4.1.0, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4
.1.8, v4.1.9].
    - bllim/datatables v1.3.1 requires illuminate/filesystem >=4.0.0 -> satisfiable by laravel/framework[4.0.x-dev, 4.1.
x-dev, dev-master, 4.2.x-dev, v4.0.0, v4.0.1, v4.0.10, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7, v4.0.8, v4.0.9, v
4.1.0, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9], illuminate/fi
lesystem[4.0.x-dev, 4.1.x-dev, dev-master, 4.2.x-dev, v4.0.0, v4.0.1, v4.0.10, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v
4.0.7, v4.0.8, v4.0.9, v4.1.0, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8
, v4.1.9].
    - bllim/datatables v1.3.2 requires illuminate/filesystem >=4.0.0 -> satisfiable by laravel/framework[4.0.x-dev, 4.1.
x-dev, dev-master, 4.2.x-dev, v4.0.0, v4.0.1, v4.0.10, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7, v4.0.8, v4.0.9, v
4.1.0, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9], illuminate/fi
lesystem[4.0.x-dev, 4.1.x-dev, dev-master, 4.2.x-dev, v4.0.0, v4.0.1, v4.0.10, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v
4.0.7, v4.0.8, v4.0.9, v4.1.0, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8
, v4.1.9].
    - bllim/datatables v1.3.3 requires illuminate/filesystem >=4.0.0 -> satisfiable by laravel/framework[4.0.x-dev, 4.1.
x-dev, dev-master, 4.2.x-dev, v4.0.0, v4.0.1, v4.0.10, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7, v4.0.8, v4.0.9, v
4.1.0, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9], illuminate/fi
lesystem[4.0.x-dev, 4.1.x-dev, dev-master, 4.2.x-dev, v4.0.0, v4.0.1, v4.0.10, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v
4.0.7, v4.0.8, v4.0.9, v4.1.0, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8
, v4.1.9].
    - Can only install one of: laravel/framework[v4.0.0-BETA2, 4.1.x-dev].
    - Can only install one of: laravel/framework[v4.0.0-BETA2, dev-master].
    - Can only install one of: laravel/framework[v4.0.0-BETA2, 4.2.x-dev].
    - Can only install one of: laravel/framework[v4.1.0, v4.0.0-BETA2].
    - Can only install one of: laravel/framework[v4.1.1, v4.0.0-BETA2].
    - Can only install one of: laravel/framework[v4.1.10, v4.0.0-BETA2].
    - Can only install one of: laravel/framework[v4.1.11, v4.0.0-BETA2].
    - Can only install one of: laravel/framework[v4.1.12, v4.0.0-BETA2].
    - Can only install one of: laravel/framework[v4.1.2, v4.0.0-BETA2].
    - Can only install one of: laravel/framework[v4.1.3, v4.0.0-BETA2].
    - Can only install one of: laravel/framework[v4.1.4, v4.0.0-BETA2].
    - Can only install one of: laravel/framework[v4.1.5, v4.0.0-BETA2].
    - Can only install one of: laravel/framework[v4.1.6, v4.0.0-BETA2].
    - Can only install one of: laravel/framework[v4.1.7, v4.0.0-BETA2].
    - Can only install one of: laravel/framework[v4.1.8, v4.0.0-BETA2].
    - Can only install one of: laravel/framework[v4.1.9, v4.0.0-BETA2].
    - don't install illuminate/filesystem 4.0.x-dev|don't install laravel/framework v4.0.0-BETA2
    - don't install illuminate/filesystem v4.0.0|don't install laravel/framework v4.0.0-BETA2
    - don't install illuminate/filesystem v4.0.1|don't install laravel/framework v4.0.0-BETA2
    - don't install illuminate/filesystem v4.0.10|don't install laravel/framework v4.0.0-BETA2
    - don't install illuminate/filesystem v4.0.2|don't install laravel/framework v4.0.0-BETA2
    - don't install illuminate/filesystem v4.0.3|don't install laravel/framework v4.0.0-BETA2
    - don't install illuminate/filesystem v4.0.4|don't install laravel/framework v4.0.0-BETA2
    - don't install illuminate/filesystem v4.0.5|don't install laravel/framework v4.0.0-BETA2
    - don't install illuminate/filesystem v4.0.6|don't install laravel/framework v4.0.0-BETA2
    - don't install illuminate/filesystem v4.0.7|don't install laravel/framework v4.0.0-BETA2
    - don't install illuminate/filesystem v4.0.8|don't install laravel/framework v4.0.0-BETA2
    - don't install illuminate/filesystem v4.0.9|don't install laravel/framework v4.0.0-BETA2
    - don't install illuminate/filesystem 4.1.x-dev|don't install laravel/framework v4.0.0-BETA2
    - don't install illuminate/filesystem 4.2.x-dev|don't install laravel/framework v4.0.0-BETA2
    - don't install illuminate/filesystem v4.1.0|don't install laravel/framework v4.0.0-BETA2
    - don't install illuminate/filesystem v4.1.1|don't install laravel/framework v4.0.0-BETA2
    - don't install illuminate/filesystem v4.1.10|don't install laravel/framework v4.0.0-BETA2
    - don't install illuminate/filesystem v4.1.11|don't install laravel/framework v4.0.0-BETA2
    - don't install illuminate/filesystem v4.1.12|don't install laravel/framework v4.0.0-BETA2
    - don't install illuminate/filesystem v4.1.2|don't install laravel/framework v4.0.0-BETA2
    - don't install illuminate/filesystem v4.1.3|don't install laravel/framework v4.0.0-BETA2
    - don't install illuminate/filesystem v4.1.4|don't install laravel/framework v4.0.0-BETA2
    - don't install illuminate/filesystem v4.1.5|don't install laravel/framework v4.0.0-BETA2
    - don't install illuminate/filesystem v4.1.6|don't install laravel/framework v4.0.0-BETA2
    - don't install illuminate/filesystem v4.1.7|don't install laravel/framework v4.0.0-BETA2
    - don't install illuminate/filesystem v4.1.8|don't install laravel/framework v4.0.0-BETA2
    - don't install illuminate/filesystem v4.1.9|don't install laravel/framework v4.0.0-BETA2
        - don't install illuminate/filesystem dev-master|don't install laravel/framework v4.0.0-BETA2
        - Installation request for laravel/framework 4.0.* -> satisfiable by laravel/framework[4.0.x-dev, v4.0.0, v4.0.0-BET
    A2, v4.0.0-BETA3, v4.0.0-BETA4, v4.0.1, v4.0.10, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7, v4.0.8, v4.0.9].
        - Installation request for bllim/datatables * -> satisfiable by bllim/datatables[1.3.0, dev-master, v1.3.1, v1.3.2,
    v1.3.3].

还有我的 composer.json

And my composer.json

{
    "name": "andrew13/Laravel-4-Bootstrap-Starter-Site",
    "description": "Laravel 4 Starter Site",
    "keywords": ["laravel","Starter Site"],
    "license": "MIT",
    "authors": [
        {
            "name": "Andrew Elkins",
            "homepage": "http://www.andrewelkins.com"
        }
    ],
    "require": {
        "laravel/framework": "4.0.*",
        "twbs/bootstrap":  "3.0.0",
        "zizaco/confide": "dev-master",
        "zizaco/entrust": "dev-master",
        "jasonlewis/basset": "dev-master",
        "robclancy/presenter": "1.2.*",
        "j20/php-uuid": "dev-master",
        "bllim/datatables": "*",
        "blueimp/jquery-file-upload": "dev-master",
        "jasonlewis/enhanced-router": "dev-master"
    },
    "require-dev": {
        "way/generators": "dev-master",
        "mockery/mockery": "dev-master@dev",
        "summerstreet/woodling": "0.1.*",
        "barryvdh/laravel-ide-helper": "dev-master",
        "leafo/lessphp": "v0.4.0",
        "natxet/CssMin": "dev-master",
        "lmammino/jsmin4assetic": "1.0.*"
    },
    "autoload": {
        "classmap": [

            "app/commands",
            "app/controllers",
            "app/library",
            "app/models",
            "app/presenters",
            "app/database/migrations",
            "app/database/seeds",
            "app/tests/library"
        ]
    },
    "scripts": {
        "pre-update-cmd": [
            "php artisan clear-compiled"
        ],
        "post-install-cmd": [
            "php artisan optimize"
        ],
        "post-update-cmd": [
            "php artisan optimize"
        ]
    },
    "config": {
        "preferred-install": "dist"
    },
    "minimum-stability": "dev"
}

我不是从基本的 Laravel 包开始,我用过 andrew13/Laravel-4-Bootstrap-Starter-Site

I did not start from basic Laravel package, I've used andrew13/Laravel-4-Bootstrap-Starter-Site

推荐答案

欢迎使用 Composer 最糟糕的功能!

Welcome to the worst feature of Composer!

所以问题是您的依赖项中存在难以发现的冲突.

So the problem is that you have conflict in your dependencies that is hard to spot.

您的 composer.json 中有 "laravel/framework": "4.0.*", 的要求.您还需要 "zizaco/confide": "dev-master"

You have a requirement for "laravel/framework": "4.0.*", in your composer.json. You also have a requirement for "zizaco/confide": "dev-master"

在 github 中的 composer.json 中查找zizaco/confide",我们看到:

Looking in the composer.json for 'zizaco/confide' in github we see:

照亮/支持":4.1.x",

"illuminate/support": "4.1.x",

导致您出现问题的 Composer 功能是 replace 关键字在整个 PACKAGIST 中全局操作.

The Composer feature that's causing you a problem is that the replace keyword OPERATES GLOBALLY ACROSS THE WHOLE OF PACKAGIST.

所以因为 'illuminate/support' 包被 Laravel 本身替换了 当 Composer 尝试满足 "illuminate/support": "4.1.x" 的要求时,它实际上会尝试下载 laravel 4.1.x 版本.

So because the 'illuminate/support' package is replace'd by Laravel itself when Composer tries to satisfy the requirement of "illuminate/support": "4.1.x" it actually tries to download laravel version 4.1.x instead.

这与您对 laravel 版本 4.0.* 的要求相冲突,因此无法解析依赖项集.

That clashes with your requirement of laravel version 4.0.* and so the set of dependencies can't be resolved.

我认为您的问题可能没有简单的解决方案.

I think there may be no trivial solution to your problem.

我将建议指定一个较早版本的 zizaco/confide 而不是 dev-master,它依赖于Illumination/support 版本 4.0.x 而不是 4.1.x - 但是这意味着从 zizaco/confide 3 切换.x 到 2.x,这可能是不可接受的.

I was going to suggest specifying an earlier version of zizaco/confide rather than dev-master, that is dependent on illuminate/support version 4.0.x rather than 4.1.x - however that would mean switching from zizaco/confide 3.x to 2.x which is probably not acceptable.

唯一的其他选择是将您的要求从 laravel 4.0.x 更改为 4.1.* - 这可能会或可能不会接受,具体取决于您的工作量.

The only other option would be to change your requirement from laravel 4.0.x to 4.1.* - which may or may not be acceptable, based on how much work that would cause you.