Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
245 views
in Technique[技术] by (71.8m points)

php - Requirements could not be resolved to an installable set of packages

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.

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].

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"
}

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

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Welcome to the worst feature of Composer!

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

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

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

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

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

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.

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.

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.

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...