TYPO3 Composer依赖冲突

Tat*_*yXY 8 cakephp typo3 database-migration symfony phinx

我会简短的说:

我有一个安装了作曲家的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"
}
Run Code Online (Sandbox Code Playgroud)

正如您所见,TYPO3需要"symfony/console":"~2.7.0",这意味着:(> = 2.7 <= 2.8)

在它旁边,我使用自定义CakePHP Part的迁移插件运行CakePHP.

我们来看看数据库迁移插件中的require部分:

"require": {
    "php": ">=5.4",
    "robmorgan/phinx": "0.5.3",
    "cakephp/cakephp": "~3.1"
},
Run Code Online (Sandbox Code Playgroud)

第一眼看上去没有错,但让我们详细一点,仔细看看"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"
}
Run Code Online (Sandbox Code Playgroud)

现在你可以看到这个包需要至少2.8的"symfony/console",但它不起作用,因为TYPO3在"~2.7.0"中需要它,这意味着:(> = 2.7 <= 2.8).

我想出了这个问题,但我不知道如何解决它.我只有一个解决方案,但它不是很好,它正在分析TYPO3并编辑composer.json.但这是最后一种选择.

有没有其他人有一个如何解决这个问题的好方法?

Geo*_*ger 3

您可以使用 TYPO3 版本 8.x。这个版本作为要求使用"symfony/console": ">=2.7 <3.1",,看起来绝对没问题。

8.x 非常稳定,你可以在任何地方使用主义,它是未来。