symfony - TYPO3 Composer 依赖冲突

标签 symfony cakephp typo3 database-migration phinx

我会简短地说:

我有一个安装了 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)。

我想出了这个问题,但我不知道如何解决它。我只有一个解决方案,但它并不是那么好,它是 fork TYPO3 并编辑 composer.json。但这是最后的选择。

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

最佳答案

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

8.x 很稳定,到处都可以用学说, future 可期。

关于symfony - TYPO3 Composer 依赖冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38209125/

相关文章:

php - 将遗留应用程序移动到 Symfony2 : How to execute native php scripts in a controller?

php - CakePHP 在保存到数据库之前更改数据

mysql - CakePHP:设置 ACL 允许/拒绝不起作用(表未更新)?

typo3 - 添加包含 TYPO3 流体图像的链接

installation - 使用composer在TYPO3 11中安装介绍包

php - 将 'choice' 选项添加到 'entity' 类型表单字段会使表单无效 -- Symfony2

symfony - 为什么我的 Symfony2 @UniqueEntity 约束根本不起作用?

php - CakePHP蛋糕烘焙全部错误

php - Typo3:在扩展安装期间插入数据(在创建表之后)

php - Symfony2 角色/组 - is_granted 未检测用户拥有的角色