作曲家安装要求错误,无法执行作曲家更新


composer install requirements error, and can't do composer update

我正在尝试安装KnpMenuBundle这是我当前的composer.json

{
    "name": "symfony/framework-standard-edition",
    "license": "MIT",
    "type": "project",
    "description": "The '"Symfony Standard Edition'" distribution",
    "autoload": {
        "psr-0": { "": "src/", "SymfonyStandard": "app/" }
    },
    "require": {
        "php": ">=5.3.3",
        "symfony/symfony": "2.5.*",
        "doctrine/orm": "~2.2,>=2.2.3",
        "doctrine/doctrine-bundle": "~1.2",
        "twig/extensions": "~1.0",
        "symfony/assetic-bundle": "~2.3",
        "symfony/swiftmailer-bundle": "~2.3",
        "symfony/monolog-bundle": "~2.4",
        "sensio/distribution-bundle": "~3.0",
        "sensio/framework-extra-bundle": "~3.0",
        "incenteev/composer-parameter-handler": "~2.0",
        "doctrine/migrations": "dev-master",
        "doctrine/doctrine-migrations-bundle": "dev-master",
        "friendsofsymfony/user-bundle": "~2.0@dev",
        "thrace/form-bundle": "dev-master",
        "knplabs/knp-menu-bundle": "dev-master",
        "thrace-project/media-bundle": "dev-master",
        "knplabs/gaufrette": "dev-master",
        "knplabs/knp-gaufrette-bundle": "dev-master",
        "imagine/imagine": "0.5.*"
    },
    "require-dev": {
        "sensio/generator-bundle": "~2.3"
    },
    "scripts": {
        "post-root-package-install": [
            "SymfonyStandard''Composer::hookRootPackageInstall"
        ],
        "post-install-cmd": [
            "Incenteev''ParameterHandler''ScriptHandler::buildParameters",
            "Sensio''Bundle''DistributionBundle''Composer''ScriptHandler::buildBootstrap",
            "Sensio''Bundle''DistributionBundle''Composer''ScriptHandler::clearCache",
            "Sensio''Bundle''DistributionBundle''Composer''ScriptHandler::installAssets",
            "Sensio''Bundle''DistributionBundle''Composer''ScriptHandler::installRequirementsFile",
            "Sensio''Bundle''DistributionBundle''Composer''ScriptHandler::removeSymfonyStandardFiles"
        ],
        "post-update-cmd": [
            "Incenteev''ParameterHandler''ScriptHandler::buildParameters",
            "Sensio''Bundle''DistributionBundle''Composer''ScriptHandler::buildBootstrap",
            "Sensio''Bundle''DistributionBundle''Composer''ScriptHandler::clearCache",
            "Sensio''Bundle''DistributionBundle''Composer''ScriptHandler::installAssets",
            "Sensio''Bundle''DistributionBundle''Composer''ScriptHandler::installRequirementsFile",
            "Sensio''Bundle''DistributionBundle''Composer''ScriptHandler::removeSymfonyStandardFiles"
        ]
    },
    "config": {
        "bin-dir": "bin"
    },
    "extra": {
        "symfony-app-dir": "app",
        "symfony-web-dir": "web",
        "incenteev-parameters": {
            "file": "app/config/parameters.yml"
        },
        "branch-alias": {
            "dev-master": "2.5-dev"
        }
    }
}

当我尝试composer install时,它给了我这个错误:

Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them.
Your requirements could not be resolved to an installable set of packages.
  Problem 1
    - Installation request for symfony/framework-standard-edition 2.5.x-dev -> satisfiable by symfony/framework-standard-edition[2.5.x-dev].
    - symfony/framework-standard-edition 2.5.x-dev requires knplabs/knp-menu-bundle dev-master -> no matching package found.
Potential causes:
 - A typo in the package name
 - The package is not available in a stable-enough version according to your minimum-stability setting
   see <https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion> for more details.
Read <http://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.

我也不能做composer update因为它会更新我的composer.lock,我不希望这种情况发生。因为我已经指定了一些确切的版本来使用它所依赖的ThraceMediaBundle和捆绑包。

所以我被composer install卡住了,这给了我上述错误。

任何帮助将不胜感激。


编辑

当我尝试时:

composer update knplabs/knp-menu-bundle:dev-master --dry-run

得到这个输出(我神秘地删除了LiipImagineBundle

Package "knplabs/knp-menu-bundle:dev-master" listed for update is not installed. Ignoring.
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Uninstalling liip/imagine-bundle (dev-master 4415054)
  - Installing knplabs/knp-menu (v2.0.1)
  - Installing knplabs/knp-menu-bundle (dev-master bdfc95d)
knplabs/knp-menu suggests installing pimple/pimple (for the built-in implementations of the menu provider and renderer provider)
knplabs/knp-menu suggests installing silex/silex (for the integration with your silex application)

编辑 2

我的错,我忘了在 composer.json 中添加LiipImaginBundle

您可以使用

composer update <vendor>/<package>进行部分更新。

此外,由于您的composer.json中不需要,liip/imagine-bundle被自动删除。