8

簡単に説明します。

composerがインストールされたTYPO3があります。

TYPO3 の require 部分を見てみましょう。

"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 部分も見てみましょう。

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

一見すると何も問題はありませんが、詳しく見てみましょう。"robmorgan/phinx": "0.5.3" を詳しく見てみましょう。このプラグインには次のパッケージが必要です。もう一度、「phinx」の composer.json を詳しく見てみましょう。

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

そして、ご覧のとおり、このパッケージには少なくとも 2.8 で「symfony/console」が必要ですが、TYPO3 が「~2.7.0」でそれを必要とするため、機能しません。つまり、(>=2.7 <= 2.8)。

私は問題を理解しましたが、それを解決する方法がわかりません。解決策は 1 つしかありませんが、それほど素晴らしいものではありません。TYPO3 をフォークして composer.json を編集することです。しかし、それは最後の選択肢です。

これを修正する方法について他の誰かが良いアプローチを持っていますか?

4

1 に答える 1

3

TYPO3 のバージョン 8.x を使用できます。このバージョンは、絶対に問題ない"symfony/console": ">=2.7 <3.1",ように見える要件として使用します。

8.x は非常に安定しており、doctrine をあらゆる場所で使用でき、将来性があります。

于 2016-09-07T09:00:51.163 に答える