2014-02-18 109 views
1

的Symfony 2.4Symfony的2發生錯誤執行時 「作曲家安裝」 命令

當我運行composer install我看到這樣的錯誤:

Generating autoload files 

Fatal error: Class 'Doctrine\ORM\Tools\Console\Command\ClearCache\CollectionRegionCommand' not found in /Users/vpx/www/vendor/doctrine/doctrine-bundle/Doctrine/Bundle/DoctrineBundle/Command/Proxy/CollectionRegionDoctrineCommand.php on line 29 
Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the post-install-cmd event terminated with an exception 



    [RuntimeException]               
    An error occurred when executing the "'cache:clear --no-warmup'" command. 

"doctrine/orm": "~2.2,>=2.2.3"在composer.json更改後"doctrine/orm": "~2.2.3"好吧。這是爲什麼?

回答

0

您確實以您可能未看到的方式更改了版本。

"doctrine/orm": "~2.2,>=2.2.3" 

這允許從2.2.3(上次限制)開始的版本不超過3.0但是2.9999.9999。

"doctrine/orm": "~2.2.3" 

這允許從2.2.3開始的版本不超過2.3.0但是2.2.9999。

因此,您的更改實際上不允許版本2.3。*和現在,這可能是失敗的原因,因爲該特定的庫已經有版本2.4.2,現在不允許。

您可能應該更新該版本的要求,因爲它似乎執行某些更新的安裝後命令不適用於此庫的2.2.x版本。我建議至少使用~2.3,因爲這樣也會排除2.2.2版本和之前的版本。

0

嘗試運行composer update而不是composer install

如果這樣做不起作用,請嘗試使用"doctrine/orm": "dev-master"替換"doctrine/orm": "~2.3.3",composer.json

+1

如果可以避免使用分支,請勿使用分支。這會讓事情變得更糟。 – Sven