Не удалось выполнить требования к устанавливаемому набору пакетов


Я пытался установить пакет jasonlewis/enhanced-router в laravel-starter-kit, и когда я запускаю обновление composer, оно не устанавливается и выдает некоторые ошибки. Первоначально я думал, что проблема была в строке composer для jasonlewis/enhanced-router ("jasonlewis/enhanced-router": "dev-master"), но я удалил ее и получил ту же ошибку.

Я пытался найти некоторые похожие проблемы, но не могу понять, в чем проблема зависимости, с которой я сталкиваюсь.

Ниже приведен результат, который я получаю после запуска 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].

И мой композитор.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

Author: Proença, 2014-01-08

1 answers

Добро пожаловать в худшую особенность композитора!

Итак, проблема в том, что у вас есть конфликт в ваших зависимостях, который трудно обнаружить.

У вас есть требование для "laravel/framework": "4.0.*", в файле composer.json. У вас также есть требование к "zizaco/confide": "dev-master"

Просматривая файл composer.json в поисках 'zizaco/confide' на github, мы видим:

"подсветка/поддержка": "4.1.x",

Особенность композитора, которая вызывает у вас проблему, заключается в том, что ключевое слово replace РАБОТАЕТ ГЛОБАЛЬНО ПО ВСЕМУ ПАКАГИСТУ.

Поэтому, поскольку пакет "подсветка/поддержка" заменяется самим Laravel, когда композитор пытается выполнить требование "подсветка/поддержка": "4.1.x", он фактически пытается загрузить версию laravel 4.1.x вместо этого.

Это противоречит вашим требованиям laravel версии 4.0.* и поэтому набор зависимостей не может быть разрешен.

Я думаю, что у вашей проблемы не может быть тривиального решения.

Я был собираюсь предложить указать более раннюю версию zizaco/confide, а не dev-master, которая зависит от версии 4.0.x illuminate/support, а не 4.1.x, однако это означало бы переход с zizaco/confide 3.x на 2.x, что, вероятно, неприемлемо.

Единственным другим вариантом было бы изменить ваше требование с laravel 4.0.x на 4.1.*, что может быть или не быть приемлемым, в зависимости от того, сколько работы это вызовет у вас.

 72
Author: Danack, 2014-01-08 13:58:54