2013-05-06 45 views
1

因此,我在安装Symphony 2上的Sonata Admin Bundle之后尝试让作曲家再次工作时出现问题。当使用命令php composer.phar ....时,我收到以下错误消息:[UnexpectedValueException] Could not parse version constraint composer.phar: Invalid version string "composer.phar"Symfony2和作曲家问题:“无法解析版本约束composer.phar ...”

无论我使用composer做什么操作,它总是会产生该错误。那么,有一个例外是php composer.phar require --no-update sonata-project/media-bundle表示它更新了composer.json而没有错误消息,但实际上并没有安装任何东西。

到目前为止,我刚刚删除并重新安装了更新版本的composer.phar。我使用MAMP和PHP 5.4.4在Mac OS 10.7.5上运行Symfony 2.2.1-dev。不知道这是否相关,但我也无法使用php app/console cache:clear清除缓存。我必须通过Finder删除缓存。

这是我的composer.json文件,以防万一:

{ 
"name": "symfony/framework-standard-edition", 
"description": "The \"Symfony Standard Edition\" distribution", 
"autoload": { 
    "psr-0": { "": "src/" } 
}, 
"require": { 
    "php": "composer.phar", 
    "symfony/symfony": "2.2.*", 
    "doctrine/orm": "2.3.*", 
    "doctrine/doctrine-bundle": "1.2.*", 
    "twig/extensions": "1.0.*", 
    "symfony/assetic-bundle": "2.1.*", 
    "symfony/swiftmailer-bundle": "2.2.*", 
    "symfony/monolog-bundle": "2.2.*", 
    "sensio/distribution-bundle": "2.2.*", 
    "sensio/framework-extra-bundle": "2.2.*", 
    "sensio/generator-bundle": "2.2.*", 
    "jms/security-extra-bundle": "1.4.*", 
    "jms/di-extra-bundle": "1.3.*", 
    "sonata-project/cache-bundle": "dev-master", 
    "sonata-project/block-bundle": "dev-master", 
    "sonata-project/jquery-bundle": "1.8.*", 
    "knplabs/knp-menu-bundle": "1.1.*-dev", 
    "sonata-project/exporter": "1.1.*", 
    "sonata-project/admin-bundle": "dev-master", 
    "sonata-project/doctrine-orm-admin-bundle": "dev-master", 
    "doctrine/common": "2.3.x-dev", 
    "sonata-project/media-bundle": "dev-master" 
}, 
"scripts": { 
    "post-install-cmd": [ 
     "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": [ 
     "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", 
    "branch-alias": { 
     "dev-master": "2.2-dev" 
    } 
} 

任何帮助/意见将是巨大的:)

+0

愿你添加的错误信息,就可以看到运行'缓存:clear'? – 2013-05-06 21:29:22

+0

没有错误信息,也没有消息说它已被清除。检查了缓存文件夹,没有被删除。 – Chewster 2013-05-06 21:33:26

回答

2

看起来你有你的作曲文件中的一些错别字。

更换"php": "composer.phar""php": ">=5.3.3"并添加缺少的结束括号在文件的结尾:

{ 
    "name": "symfony/framework-standard-edition", 
    "description": "The \"Symfony Standard Edition\" distribution", 
    "autoload": { 
     "psr-0": { "": "src/" } 
    }, 
    "require": { 
     "php": ">=5.3.3", 
     "symfony/symfony": "2.2.*", 
     "doctrine/orm": "2.3.*", 
     "doctrine/doctrine-bundle": "1.2.*", 
     "twig/extensions": "1.0.*", 
     "symfony/assetic-bundle": "2.1.*", 
     "symfony/swiftmailer-bundle": "2.2.*", 
     "symfony/monolog-bundle": "2.2.*", 
     "sensio/distribution-bundle": "2.2.*", 
     "sensio/framework-extra-bundle": "2.2.*", 
     "sensio/generator-bundle": "2.2.*", 
     "jms/security-extra-bundle": "1.4.*", 
     "jms/di-extra-bundle": "1.3.*", 
     "sonata-project/cache-bundle": "dev-master", 
     "sonata-project/block-bundle": "dev-master", 
     "sonata-project/jquery-bundle": "1.8.*", 
     "knplabs/knp-menu-bundle": "1.1.*-dev", 
     "sonata-project/exporter": "1.1.*", 
     "sonata-project/admin-bundle": "dev-master", 
     "sonata-project/doctrine-orm-admin-bundle": "dev-master", 
     "doctrine/common": "2.3.x-dev", 
     "sonata-project/media-bundle": "dev-master" 
    }, 
    "scripts": { 
     "post-install-cmd": [ 
      "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": [ 
      "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", 
     "branch-alias": { 
      "dev-master": "2.2-dev" 
     } 
    } 
} 
+0

谢谢!哇,我觉得真的很愚蠢,因为不知道“php”:“composer.phar”部分(右括号实际上是在原始代码中)。显然,当我愚蠢地剪切和粘贴代码以通过作曲家安装Sonata Media Bundle而没有意识到明显的错字时,情况发生了变化:http://sonata-project.org/bundles/media/master/doc/reference/installation.html ... 再次感谢! – Chewster 2013-05-06 21:58:51