Конфликт зависимостей TYPO3 Composer

Я буду краток:

У меня TYPO3 с установленным композитором.

Давайте взглянем на требуемую часть из TYPO3.

"require": {
    "php": ">=5.5.0",
    "ext-fileinfo": "*",
    "ext-json": "*",
    "ext-pcre": "*",
    "ext-session": "*",
    "ext-xml": "*",
    "psr/log": "1.0.*@dev",
    "pear/http_request2": "~2.2.1",
    "swiftmailer/swiftmailer": "~5.4.1",
    "symfony/console": "~2.7.0",
    "symfony/finder": "~2.7.0",
    "doctrine/instantiator": "~1.0.4",
    "typo3/class-alias-loader": "^1.0",
    "typo3/cms-composer-installers": "^1.2.8",
    "psr/http-message": "~1.0",
    "cogpowered/finediff": "~0.3.1",
    "mso/idna-convert": "^0.9.1"
}

Как видите, TYPO3 нуждается в "symfony/console": "~2.7.0", что означает: (>=2.7 ‹= 2.8)

Рядом с ним я запускаю CakePHP с плагином миграции для пользовательской части CakePHP.

Давайте также взглянем на требуемую часть плагина миграции базы данных:

"require": {
    "php": ">=5.4",
    "robmorgan/phinx": "0.5.3",
    "cakephp/cakephp": "~3.1"
},

На первый взгляд здесь нет ничего плохого, но давайте подробнее рассмотрим «robmorgan/phinx»: «0.5.3». Этому плагину нужны следующие пакеты, и снова давайте подробнее рассмотрим composer.json из «phinx».

"require": {
    "php": ">=5.4",
    "symfony/console": "~2.8|~3.0",
    "symfony/config": "~2.8|~3.0",
    "symfony/yaml": "~2.8|~3.0"
}

И теперь, как вы видите, этому пакету нужен "symfony/console" по крайней мере в версии 2.8, но он не работает, потому что он нужен TYPO3 в "~2.7.0", что означает: (>=2.7 ‹= 2.8).

Я понял проблему, но я понятия не имею, как ее решить. У меня есть только одно решение, но оно не так уж и велико, это разветвление TYPO3 и редактирование composer.json. Но это самый последний вариант.

У кого-нибудь еще есть хороший подход к тому, как это исправить?


person TatzyXY    schedule 05.07.2016    source источник
comment
Next to it I run a CakePHP Почему ваши проекты typo3 и CakePHP находятся в одном репозитории — или вы имеете в виду что-то другое (пожалуйста, отредактируйте вопрос, чтобы уточнить, что рядом с ним означает)? Вы активно используете миграции?   -  person AD7six    schedule 06.07.2016
comment
Да, теперь я использую активные миграции, потому что файлы дампа mysql не были лучшей практикой для управления базой данных для всех разработчиков и серверов разработки/живых.   -  person TatzyXY    schedule 07.07.2016
comment
Краткий ответ таков: TYPO3 находится перед приложением/веб-сайтом, но клиент также хочет иметь большую пользовательскую часть, поэтому я начал кодировать TYPO3-Extension после того, как увидел, как непродуктивно и сложно кодировать TYPO3-. Расширение, я решил загрузить CakePHP 3.0 в TYPO3-Extension, это немного поработало, но теперь оно работает. Теперь я могу использовать всю мощь Cake, например, мои Cake-Controllers/Tables/Entities/Views для написания TYPO-Extension. В TYPO3-Extension у меня есть объект CakeRequest-Object, и я возвращаю полностью сгенерированный результат из Cake в виде строки. Cake установлен как поставщик TYPO3.   -  person TatzyXY    schedule 07.07.2016


Ответы (1)


Вы можете использовать версию 8.x TYPO3. Эта версия использует в качестве требования "symfony/console": ">=2.7 <3.1",, что выглядит абсолютно нормально.

8.x очень стабильна, вы можете использовать доктрину повсюду, и за ней будущее.

person Georg Ringer    schedule 07.09.2016