Symfony作曲家更新“冻结”更新依赖项

时间:2014-02-06 16:18:41

标签: php symfony composer-php

使用Symfony2,将nelmio / api-doc-bundle添加到我的composer.json中。我的文件就像

{
"name": "symfony/framework-standard-edition",
"license": "MIT",
"type": "project",
"description": "The \"Symfony Standard Edition\" distribution",
"autoload": {
    "psr-0": { "": "src/" }
},
"require": {
    "php": ">=5.3.3",
    "symfony/symfony": "~2.4",
    "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": "~2.3",
    "sensio/framework-extra-bundle": "~3.0",
    "sensio/generator-bundle": "~2.3",
    "incenteev/composer-parameter-handler": "~2.0",
    "jms/serializer-bundle" : "0.13.0",
    "friendsofsymfony/rest-bundle": "1.2.2",
    "friendsofsymfony/user-bundle": "~2.0@dev",
    "coresphere/console-bundle": "dev-master",
    "nelmio/api-doc-bundle": "2.4.5"
},
"scripts": {
    "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"
    ],
    "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"
    ]
},
"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.4-dev"
    }
}

}

但是当我运行composer update时,脚本会阻止更新依赖项。详细说明,我可以看到这条线被冻结了:

Reading /root/.composer/cache/repo/https---packagist.org/provider-jms$cg.json from cache

在添加nelmio / api-doc-bundle之前很好,但是我在另一个捆绑包中遇到了同样的问题(我最终重置了该项目)。


编辑02/07 :当我进行作曲家安装(使用--prefer-dist或--prefer-source)时,我遇到以下错误:

Your requirements could not be resolved to an installable set of packages.



Problem 1
    - The requested package friendsofsymfony/rest-bundle could not be found in any version, there may be a typo in the package name.
  Problem 2
    - The requested package jms/serializer-bundle could not be found in any version, there may be a typo in the package name.
  Problem 3
    - Installation request for symfony/framework-standard-edition 2.4.x-dev -> satisfiable by symfony/framework-standard-edition[2.4.x-dev].
    - symfony/framework-standard-edition 2.4.x-dev requires jms/serializer-bundle 0.13.0 -> 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.

编辑2 :我将我的Symfony降级到~2.3,当我进行更新时,冻结的行发生了变化

Reading /root/.composer/cache/repo/https---packagist.org/provider-dflydev$markdown.json from cache

2 个答案:

答案 0 :(得分:2)

它有效,尝试为作曲家添加“最小稳定性”:“dev”。 google groups from phar error

{ "name": "symfony/framework-standard-edition", "license": "MIT", "type": "project", "description": "The \"Symfony Standard Edition\" distribution", "autoload": {
    "psr-0": { "": "src/" } }, "require": {
    "php": ">=5.3.3",
    "symfony/symfony": "~2.4",
    "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": "~2.3",
    "sensio/framework-extra-bundle": "~3.0",
    "sensio/generator-bundle": "~2.3",
    "incenteev/composer-parameter-handler": "~2.0",
    "jms/serializer-bundle" : "0.13.0",
    "friendsofsymfony/rest-bundle": "1.2.2",
    "friendsofsymfony/user-bundle": "~2.0@dev",
    "coresphere/console-bundle": "dev-master",
    "nelmio/api-doc-bundle": "2.4.5" }, "scripts": {
    "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"
    ],
    "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"
    ] }, "config": {
    "bin-dir": "bin" }, "minimum-stability": "dev", "extra": {
    "symfony-app-dir": "app",
    "symfony-web-dir": "web",
    "incenteev-parameters": {
        "file": "app/config/parameters.yml"
    },
    "branch-alias": {
        "dev-master": "2.4-dev"
    } } }

答案 1 :(得分:0)

在新版本的Symfony2中,某些捆绑包已被弃用或不再使用。你必须选择:

  • 如果您要安装捆绑包并将Symfony版本更新为新版本,请将 compose.json 文件更改为最新更新版本,最后附加捆绑包;最后运行你的composer.phar来更新Symfony并安装捆绑包。检查此链接以获取Symfony(Symfony 2.4 composer.json
  • 的最新json文件
  • 如果您要安装捆绑包但保留所有当前捆绑包,只需附加 - prefer-dist

    php composer update --prefer-dist