2012-06-17 2 views
1

Я потратил несколько дней, пытаясь разобраться с депилами в Symfony 2.0.15. Я не могу найти совместимый список пакетов, и я преследовал коммиты вокруг github, пытаясь следовать цепочке изменений без BC, чтобы получить список версий, которые работают для меня. В конце концов я решил отказаться от работы и доработать композитору, только чтобы обнаружить, что для ядра ядра Doctrine требуется Symfony 2.1, но некоторые из других наборов Doctrine требуют Symfony < 2.1, и в итоге я тоже отказался от этого.Какая версия DoctrineBundle работает с Symfony 2.0.15?

Может ли кто-нибудь со следующими пучками установить, пожалуйста, дайте мне знать, какие стабильные версии они используют с их deps.lock?

[symfony] 
git=http://github.com/symfony/symfony.git 
version=v2.0.15 

[twig] 
git=http://github.com/fabpot/Twig.git 
version=v1.8.2 

[monolog] 
git=http://github.com/Seldaek/monolog.git 
version=1.0.2 

[doctrine-common] 
git=http://github.com/doctrine/common.git 
version=2.1.4 

[doctrine-dbal] 
git=http://github.com/doctrine/dbal.git 
version=2.1.7 

[doctrine] 
git=http://github.com/doctrine/doctrine2.git 
version=2.1.7 

[swiftmailer] 
git=http://github.com/swiftmailer/swiftmailer.git 
version=v4.1.7 

[assetic] 
git=http://github.com/kriswallsmith/assetic.git 
version=cc2e9adb744df0704a5357adc1cf9287c427420f 

[twig-extensions] 
git=http://github.com/fabpot/Twig-extensions.git 

[metadata] 
git=http://github.com/schmittjoh/metadata.git 
version=1.0.0 

[SensioFrameworkExtraBundle] 
git=http://github.com/sensio/SensioFrameworkExtraBundle.git 
target=/bundles/Sensio/Bundle/FrameworkExtraBundle 
version=origin/2.0 

[JMSSecurityExtraBundle] 
git=http://github.com/schmittjoh/JMSSecurityExtraBundle.git 
target=/bundles/JMS/SecurityExtraBundle 
version=origin/1.0.x 

[SensioDistributionBundle] 
git=http://github.com/sensio/SensioDistributionBundle.git 
target=/bundles/Sensio/Bundle/DistributionBundle 
version=origin/2.0 

[SensioGeneratorBundle] 
git=http://github.com/sensio/SensioGeneratorBundle.git 
target=/bundles/Sensio/Bundle/GeneratorBundle 
version=origin/2.0 

[AsseticBundle] 
git=http://github.com/symfony/AsseticBundle.git 
target=/bundles/Symfony/Bundle/AsseticBundle 
version=v1.0.1 

[doctrine-mongodb] 
git=http://github.com/doctrine/mongodb.git 

[doctrine-mongodb-odm] 
git=http://github.com/doctrine/mongodb-odm.git 

[DoctrineMongoDBBundle] 
git=http://github.com/doctrine/DoctrineMongoDBBundle.git 
target=/bundles/Symfony/Bundle/DoctrineMongoDBBundle 
version=v2.0.1 

[DoctrineMigrationsBundle] 
git=https://github.com/doctrine/DoctrineMigrationsBundle.git 
target=/bundles/Symfony/Bundle/DoctrineMigrationsBundle 
version=origin/2.0 

[doctrine-migrations] 
git=http://github.com/doctrine/migrations.git 

[doctrine-fixtures] 
git=http://github.com/doctrine/data-fixtures.git 

[DoctrineFixturesBundle] 
git=https://github.com/doctrine/DoctrineFixturesBundle.git 
target=/bundles/Symfony/Bundle/DoctrineFixturesBundle 
version=origin/2.0 

[DoctrineBundle] 
git=http://github.com/doctrine/DoctrineBundle.git 
target=/bundles/Doctrine/Bundle/DoctrineBundle 

[FOSJsRoutingBundle] 
git=http://github.com/FriendsOfSymfony/FOSJsRoutingBundle.git 
target=/bundles/FOS/JsRoutingBundle 

[GedmoDoctrineExtensions] 
git=http://github.com/l3pp4rd/DoctrineExtensions.git 
target=/gedmo-doctrine-extensions 

[StofDoctrineExtensionsBundle] 
git=http://github.com/stof/StofDoctrineExtensionsBundle.git 
target=/bundles/Stof/DoctrineExtensionsBundle 

С этими комбинациями я получаю постоянный набор ошибок из-за классы не существующих или переименованы методами, которые я потом смотрю в GitHub репозитории и пытаюсь исправить с фиксацией/тегом, который устраняет эту ошибку, только для получения другого набора ошибок из-за других классов, не существующих или переименованных методов. Я не могу вернуться в стабильное состояние, которое у меня было несколько недель назад из-за изменений пространства имен в организации Doctrine - (@see What happened to Doctrine's Symfony Bundle repos?)

В качестве альтернативы я не против переключения на композитор; Херес composer.json, что я пробовал, но не работает

{ 
"require": { 
     "symfony/symfony" : "v2.0.15", 
     "symfony/doctrine-bridge": "2.1.x-dev", 
     "doctrine/common" : "2.1.4", 
     "doctrine/orm" : "2.1.6", 
     "symfony/finder" : "v2.0.15", 

     "symfony/assetic-bundle" : "2.0.x-dev", 
     "twig/extensions" : "dev-master", 
     "jms/security-extra-bundle" : "1.0.x", 
     "sensio/framework-extra-bundle" : "2.0.x-dev", 
     "sensio/distribution-bundle" : "2.0.x-dev", 
     "sensio/generator-bundle" : "2.0.x-dev", 

     "doctrine/doctrine-bundle": "v1.0.0-beta1", 
     "doctrine/mongodb-odm-bundle": "v2.0.1", 

}, 
"autoload": { 
    "psr-0": { 
     "Oh": "src/" 
    } 
} 
} 

Всякий раз, когда я пытаюсь исправить зависимости в composer.json я, кажется, чтобы получить в цикле модернизации и ухудшая те же пакеты снова и снова но всегда получаю сообщение об ошибке «Ваши требования не могут быть решены до устанавливаемого набора пакетов». Если бы кто-то мог предоставить мне настройку composer.json с помощью Symfony 2.0.15 с пакетами Doctrine, MongoDB, DoctrineFixtures и DoctrineMigrations, я был бы очень благодарен.

ответ

2

Вот часть моей конфигурации рабочего композитора:

{ 
    "require": { 
     "php":    ">=5.3.3", 
     "symfony/symfony": "2.0.15", 
     "doctrine/orm":  "2.1.7", 
     "twig/extensions": "*", 

     "symfony/assetic-bundle":   "2.0.x-dev", 
     "sensio/generator-bundle":  "2.0.*", 
     "sensio/framework-extra-bundle": "2.0.*", 
     "jms/security-extra-bundle":  "1.0.*", 

     "stof/doctrine-extensions-bundle":  "*", 
     "doctrine/doctrine-migrations-bundle": "2.0.*" 
    } 
} 

Я не использую ODM, хотя.

+1

спасибо jakub. Наверное, я пытался включить слишком много пакетов в композитора. Мне удалось получить работающего композитора, заменив все версии пакета на «*», чтобы позволить ему разобраться в собственных зависимостях, но я думаю, что это рискованно использовать нестабильные версии всего. Я поместил весь свой composer.json и AppKernel в суть, чтобы помочь всем, кому это может понадобиться. Https://gist.github.com/2947908 –

+0

Если вы хотите заблокировать версии (ов), то packagist.org может помочь вам , Вы можете увидеть версии своего пакета и его зависимости. –

+1

Проблема для меня заключалась в том, что я включал пакеты в свой composer.json, которые уже были включены в другие пакеты дальше по строке, и трудно увидеть все, что будет установлено. Было бы удобно, если бы был инструмент для просмотра всех зависимостей в древовидной структуре, вместо того, чтобы искать каждый из них и помнить, что от него зависит. –

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