Композитор не может разрешить sylius / settings-bundle

Я не могу правильно разрешить пакет настроек Sylius. Мое приложение - стандартное приложение Symfony. Согласно json по умолчанию Symfony 2.4.4 требуется doctrine / doctrine-bundle ~1.2

Мой текущий json: https://gist.github.com/Rvanlaak/f627a73a8d431600f8ba

При разрешении sylius / settings-bundle ~0.9 возникает следующая ошибка:

- Installation request for doctrine/doctrine-bundle == 1.2.0.0 -> satisfiable by doctrine/doctrine-bundle[v1.2.0].
- Conclusion: don't install doctrine/doctrine-bundle 1.3.x-dev
- sylius/settings-bundle v0.9.0 requires sylius/resource-bundle 0.9.*@dev -> satisfiable by sylius/resource-bundle[v0.9.0].
- sylius/settings-bundle 0.10.x-dev requires sylius/resource-bundle 0.10.*@dev -> satisfiable by sylius/resource-bundle[0.10.x-dev].
- sylius/resource-bundle v0.9.0 requires doctrine/doctrine-bundle ~1.3@dev -> satisfiable by doctrine/doctrine-bundle[1.3.x-dev, v1.3.0-beta1].
- sylius/resource-bundle 0.10.x-dev requires doctrine/doctrine-bundle ~1.3@dev -> satisfiable by doctrine/doctrine-bundle[1.3.x-dev, v1.3.0-beta1].
- Conclusion: don't install doctrine/doctrine-bundle v1.3.0-beta1
- Installation request for sylius/settings-bundle ~0.9 -> satisfiable by sylius/settings-bundle[0.10.x-dev, v0.9.0].

При изменении моего пакета doctrine / doctrine-bundle на ~1.3@dev или 1.2.0 возникает ошибка:

- The requested package doctrine/doctrine-bundle == 1.2.0.0 could not be found.

И после этого команда require sylius / settings-bundle dev-master выдает ошибку:

- Can only install one of: doctrine/doctrine-bundle[1.3.x-dev, v1.2.0].
- Can only install one of: doctrine/doctrine-bundle[v1.2.0, 1.3.x-dev].
- sylius/resource-bundle 0.10.x-dev requires doctrine/doctrine-bundle ~1.3@dev -> satisfiable by doctrine/doctrine-bundle[1.3.x-dev].
- sylius/settings-bundle dev-master requires sylius/resource-bundle 0.10.*@dev -> satisfiable by sylius/resource-bundle[0.10.x-dev].
- Installation request for sylius/settings-bundle dev-master -> satisfiable by sylius/settings-bundle[dev-master].
- Installation request for doctrine/doctrine-bundle v1.2.0 -> satisfiable by doctrine/doctrine-bundle[v1.2.0].

Мне кажется, что зависимости противоречат друг другу. Стандартная версия Symfony не может разрешить sylius / settings-bundle?

ИЗМЕНИТЬ

После удаления следующих пакетов композитор действительно правильно разрешает

    "lexik/form-filter-bundle" : "~2.0",
    "knplabs/knp-paginator-bundle" : "~2.3",
    "liip/imagine-bundle" : "<1.0.x-dev",
    "raulfraile/ladybug-bundle" : "~1.0",
    "simplethings/entity-audit-bundle" : "~0.5",
    "knplabs/knp-snappy-bundle" : "~1.1",
    "fpn/tag-bundle": "~0.9"

person Rvanlaak    schedule 15.05.2014    source источник


Ответы (2)


В наши дни зависимости Sylius представляют собой полный беспорядок (это предварительная альфа-версия). На данный момент нет хорошего решения, но если вы используете

"minimum-stability": "dev",
"prefer-stable": true,

в вашем composer.json вы, вероятно, получите то, что ожидаете.

При этом устанавливается Doctrine 1.3.0@dev, несовместимая с Symfony 2.4. Генераторы кода Doctrine (app/console doctrine:...) взорвутся, но Sylius будет работать.

Как я уже сказал, на данный момент нет оптимального решения, возможно, с Symfony 2.5.

person albertedevigo    schedule 15.05.2014
comment
Я уже использую настройки композитора, как вы упомянули, но это не решило проблему. Удаление всех моих пользовательских пакетов разрешает пакет настроек, поэтому проблема заключается в одном из них (см. Мое изменение) - person Rvanlaak; 15.05.2014
comment
Поэтому я думаю, что один из этих пакетов, который вы опубликовали, требует Doctrine 1.2.0.0, и он конфликтует с зависимостью Sylius (1.3). Я не вижу простого решения ... - person albertedevigo; 15.05.2014
comment
В одной из моих первых попыток composer действительно смог разрешить, но после установки всех пакетов поставщиков composer не смог завершить стандартные скрипты symfony post-install-cmd с ошибкой: PHP Fatal error: Class 'Doctrine \ ORM \ Tools \ Console \ Command \ ClearCache \ QueryRegionCommand 'не найден в / home / scribbr / sites / scribbr / vendor / doctrine / doctrine-bundle / Doctrine / Bundle / DoctrineBu ndle / Command / Proxy / QueryRegionCacheDoctrineCommand.php в строке 29 - person Rvanlaak; 15.05.2014

Установите для всех пакетов Sylius версию 0.9. И у вас нет конфликтов

person Valentino Chet    schedule 16.05.2014
comment
Уже был на v0.9 как sylius/settings-bundle, так и sylius/resource-bundle. Symfony Standard все еще слишком зависит от doctrine/doctrine-bridge v1.2 - person Rvanlaak; 16.05.2014