2016-07-05 156 views
7

我將簡短:TYPO3作曲家依賴衝突

我有一個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 /控制檯」: 「〜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「。這個插件需要下列軟件包,我們再來仔細看看「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 /控制檯」,但它不工作,因爲TYPO3需要它「〜2.7.0」,這意味着:(> = 2.7 < = 2.8)。

我想出了這個問題,但我不知道如何解決它。我只有一個解決方案,但它不是那麼好,它分​​叉TYPO3並編輯composer.json。但那是最後的選擇。

有沒有其他人有一個很好的方法來解決這個問題?

+1

'在它旁邊運行一個CakePHP'爲什麼你的typo3和CakePHP項目在同一個回購中 - 或者你的意思是不同的東西(請編輯該問題以澄清「它旁邊」的含義)?您是否積極使用遷移? – AD7six

+0

是的,我現在使用活動遷移導致mysql轉儲文件不是管理所有開發人員和開發/活動服務器上數據庫的最佳實踐。 – TatzyXY

+0

簡短的回答是:TYPO3在應用程序/網站前面,但客戶也希望有一個很大的自定義部分,所以我開始編寫TYPO3-Extension後,我看到TYPO3 -Extension是,我決定將CakePHP 3.0加載到TYPO3-Extension中,這有點工作,但現在它的工作。我現在可以使用Cake的全部功能,例如我的Cake-Controllers/Tables/Entities/Views來編寫TYPO-Extension。在TYPO3-Extension上,我有CakeRequest-Object,並將Cake的全部生成結果作爲字符串返回。 Cake作爲TYPO3的供應商安裝。 – TatzyXY

回答

1

您可以使用TYPO3的8.x版本。這個版本用於要求絕對精細的要求"symfony/console": ">=2.7 <3.1",

8.x非常穩定,您可以在整個地方使用原則,這是未來。