У меня есть существующий проект Symfony + SonataAdmin, который мы запускаем в течение нескольких лет. Я хотел бы обновить его до SonataAdmin 3.x. 3.0 было бы хорошим началом, а затем, двигаясь до 3.x после того, как мы проверим, что все работает.Модернизация сонаты от 2,3 до 3,0
Однако я не могу получить жизнеспособный набор зависимостей композитора от обновления. Текущие настройки включают в себя:
"sonata-project/admin-bundle": "~2.3",
"sonata-project/core-bundle": "~2.3",
"sonata-project/doctrine-orm-admin-bundle": "~2.3",
"sonata-project/user-bundle": "[email protected]",
"sonata-project/datagrid-bundle": "[email protected]",
"friendsofsymfony/user-bundle": "~1.3",
Я попытался изменить первые три до 3.0 *, но я получаю следующее сообщение об ошибке:.
$ composer update --dry-run
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- sonata-project/user-bundle 2.x-dev requires sonata-project/core-bundle ~2.2 -> satisfiable by sonata-project/core-bundle[2.2.0-2.2.7, 2.3.0-2.3.11, 2.x-dev] but these conflict with your requirements or minimum-stability. - sonata-project/user-bundle 2.3.x-dev requires sonata-project/admin-bundle ~2.3|[email protected] -> satisfiable by sonata-project/admin-bundle[2.3.0-2.3.10, 2.x-dev] but these conflict with your requirements or minimum-stability. - Installation request for sonata-project/user-bundle [email protected] -> satisfiable by sonata-project/user-bundle[2.x-dev, 2.3.x-dev].
Chaging зависимости для пользователя расслоения к:
"sonata-project/user-bundle": "3.0.*@dev",
или 3.0.*@dev
или 3.0.0
или [email protected]
:
Просто дает другую ошибку:
$ composer update --dry-run
Loading composer repositories with package information
Updating dependencies (including require-dev)
[Composer\DependencyResolver\SolverProblemsException]
Problem 1 - The requested package sonata-project/user-bundle 3.0.* exists as sonata-project/user-bundle[2.3.x-dev, dev-master] but these are rejected by your constraint.
И, наконец, пытается "sonata-project/user-bundle": "dev-master",
дает эту ошибку:
$ composer update --dry-run
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- sonata-project/user-bundle dev-master requires sonata-project/admin-bundle ^3.1 -> satisfiable by sonata-project/admin-bundle[3.1.0, 3.2.0, 3.3.0, 3.3.1, 3.3.2, 3.4.0, 3.x-dev] but these conflict with your requirements or minimum-stability. - sonata-project/user-bundle dev-master requires sonata-project/admin-bundle ^3.1 -> satisfiable by sonata-project/admin-bundle[3.1.0, 3.2.0, 3.3.0, 3.3.1, 3.3.2, 3.4.0, 3.x-dev] but these conflict with your requirements or minimum-stability. - Installation request for sonata-project/user-bundle dev-master -> satisfiable by sonata-project/user-bundle[dev-master].
Итак ... есть ли версия sonata-project/user-bundle
, который совместим с 3.0 * версии. других пакетов сонаты? Packagist, похоже, предполагает, что существует версия 3.0.0 sonata-project/user-bundle
, но hasI сделал что-то не так в моем синтаксисе композитора при попытке ссылаться на него?
Зачем использовать '3.0.0'? Это не очень либерально. Попытайтесь использовать '^ 3.0' повсюду, может быть? А затем ограничьте «3.0.0», если вы действительно этого захотите (но поскольку BC-break между «3.0» и «3.1» не существует, это довольно бесполезно IMO). Во всяком случае, вы пропустите некоторые исправления. – greg0ire
OK, используя '^ 3.0' для первых трех и' sonata-project/user-bundle: dev-master' разрешает. Но я еще не запускал его, чтобы узнать, сколько боли связано с обновлением! Я просто хотел получить от 2.3 -> 3.0 сначала, чтобы получить работу с 3.something, а затем обновить до последней версии 3.x. Но, может быть, лучше просто пойти прямо к^3.0. – caponica
Я действительно так думаю. – greg0ire