2014-02-18 4 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. 

После того, как изменения в composer.json от "doctrine/orm": "~2.2,>=2.2.3" до "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, которая теперь запрещена.

Возможно, вам необходимо обновить это требование версии, поскольку команда post-install, которая выполняет некоторые обновления, не работает с версией 2.2.x этой библиотеки. Я бы предложил использовать не менее ~2.3, так как это также исключает версии 2.2.2 и ниже, как это было сделано ранее.

0

Попробуйте запустить composer update вместо composer install.

Если это не сработает, попробуйте заменить "doctrine/orm": "~2.3.3" на "doctrine/orm": "dev-master" в composer.json.

+1

Никогда не используйте ветви, если вы можете избежать этого. Это ухудшит ситуацию. – Sven

Смежные вопросы