2016-07-05 9 views
7

Ich werde kurz sein:TYPO3 Composer Abhängigkeitskonflikt

Ich habe ein TYPO3 mit Composer installiert.

Werfen wir einen Blick auf den Teil von 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" 
} 

Wie Sie sehen können TYPO3 muss "symfony/console": "~ 2.7.0" so bedeutet das: (> = 2,7 < = 2,8)

Daneben ich CakePHP mit der Flucht Migrations-Plugin für den benutzerdefinierten CakePHP-Part.

Lassen Sie uns einen Blick auf das Teil aus der Datenbank-Migration-Plugin benötigen auch:

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

Nichts falsch hier auf den ersten Blick, aber lassen Sie uns im Detail gehen und einen genaueren Blick auf „robmorgan haben/phinx ":" 0.5.3 ". Dieses Plugin benötigt die folgenden Pakete und lasst uns die composer.json von "phinx" noch einmal genauer betrachten.

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

Und jetzt, wie Sie dieses Paket sehen muss "symfony/console" zumindest in 2.8, aber es funktioniert nicht, weil TYPO3 es in "~ 2.7.0" benötigt, die bedeutet: (> = 2.7 < = 2,8).

Ich habe das Problem herausgefunden, aber ich habe keine Ahnung, wie ich es lösen soll. Ich habe nur eine Lösung, aber es ist nicht so toll, es geht um TYPO3 und die Bearbeitung von composer.json. Aber das ist die letzte Option.

Hat jemand sonst einen guten Ansatz, wie man das beheben kann?

+1

'Daneben laufe ich ein CakePHP' Warum sind deine typo3- und CakePHP-Projekte im gleichen Repo - oder meinst du etwas anderes (bitte bearbeite die Frage, um zu klären, was" nebenan "bedeutet)? Verwenden Sie aktiv Migrationen? – AD7six

+0

Ja, ich verwende jetzt aktive Migrationen, da mysql-Dump-Dateien nicht die beste Methode zur Verwaltung der Datenbank über alle Entwickler und Dev/Live-Server sind. – TatzyXY

+0

Die kurze Antwort lautet: TYPO3 steht vor der App/Website, aber der Kunde möchte auch einen großen Custom-Part haben, also habe ich angefangen, eine TYPO3-Extension zu programmieren, nachdem ich gesehen habe, wie unproduktiv und schwer ein TYPO3 zu programmieren ist -Extension ist, ich habe beschlossen, CakePHP 3.0 in eine TYPO3-Extension zu laden, es war ein bisschen Arbeit, aber es funktioniert jetzt. Ich kann jetzt die volle Power von Cake nutzen, zB meine Cake-Controller/Tabellen/Entities/Views, um eine TYPO-Extension zu schreiben. Auf der TYPO3-Extension habe ich das CakeRequest-Objekt und gebe das vollständig generierte Ergebnis von Cake als String zurück. Cake ist als Hersteller von TYPO3 installiert. – TatzyXY

Antwort

1

Sie können Version 8.x von TYPO3 verwenden. Diese Version verwendet als Voraussetzung "symfony/console": ">=2.7 <3.1",, die dann absolut gut aussieht.

8.x ist sehr stabil, Sie können Lehre überall und es ist die Zukunft.