TYPO3-Entwicklung verbessern mit Composer 2.0

Juhuu! Der lang erwartete Composer 2.0 von TYPO3 (aka PHP) ist blitzschnell auf den Markt gekommen. In diesem Blog möchte ich die wichtigsten Funktionen hervorheben, TYPO3 trifft auf Composer 2.0, eine interessante TYPO3-Fallstudie für Composer 2.0, Was ist, wenn Ihr TYPO3-Projekt den Composer 2.0 nicht unterstützt, usw. Als TYPO3-Entwickler sollten Sie sich dessen bewusst sein. Lesen Sie weiter!

TYPO3-Entwicklung verbessern mit Composer 2.0

FYI. This blog is translated by machine. Please ignore any spelling and grammar errors; sorry for such inconvenience. We appreciate your understanding and support.

Woohoo! Der lang erwartete Composer 2.0 von TYPO3 (aka PHP) ist blitzschnell auf den Markt gekommen. In diesem Blog möchte ich die wichtigsten Funktionen hervorheben, TYPO3 trifft auf Composer 2.0, eine interessante TYPO3-Fallstudie für Composer 2.0, Was ist, wenn Ihr TYPO3-Projekt den Composer 2.0 nicht unterstützt, usw. Als TYPO3-Entwickler sollten Sie sich dessen bewusst sein. Lesen Sie weiter!

Am 24. Oktober wurde Komponist 2.0 offiziell vom Team Packagist bekannt gegeben. Indem ich Susi's Blog (Miss TYPO3) inspiriere, möchte ich einen All-in-One-Blog zu TYPO3 + Composer 2.0 schreiben. Wenn Sie TYPO3 Composer noch nicht kennen, empfehle ich Ihnen, einen meiner beliebten Blogs The Best Guide to TYPO3 Composer.

Wir leben in der Komponisten-Ära. Composer ist das Rückgrat der modernen Entwicklung in der TYPO3-Landschaft. Es ist so viel einfacher geworden, sowohl Open-Source- als auch private TYPO3-Erweiterungen (Pakete) in Ihr TYPO3-Projekt einzubinden.

Ich möchte diesen Blog dem Composer-Team und den Leuten widmen, die viel dazu beitragen, TYPO3 mit Composer kompatibel zu machen. Ehrlich gesagt hat das Composer-Team hart gearbeitet und Composer 2.0 dieser unglaublichen Software veröffentlicht. Applaus für die großartigen Menschen, die der OpenSource-Gemeinschaft (sowohl Composer als auch TYPO3) etwas zurückgeben.

Composer 2.0 kommt mit Leistungsverbesserungen, Verbesserungen bei der Fehlerberichterstattung und einigen Funktionen, mit denen die Kompatibilität der PHP-Version/-Erweiterungen zur Laufzeit überprüft werden kann. Entdecken Sie alle Funktionen.

Ein Hauptziel von Composer 2.0 war es, sich blitzschnell zu verbessern, hier ist die offizielle Testfahrt des Komponistenteams.

Der Composer war ein Meilenstein in der Geschichte von TYPO3, wie zum Beispiel TYPO3 v9. Der Composer ermöglicht es uns (TYPO3-Entwicklern), das Duplizieren von Code zu stoppen und ihn auf einfache und schnelle Weise wiederzuverwenden. Heute können Sie eine unglaubliche Anzahl von TYPO3-Erweiterungen finden, und mit einem einzigen Befehl können Sie diese in Ihrem TYPO3-Projekt installieren. Ich bin mir sicher, dass TYPO3 ohne den Composer nicht dasselbe wäre.

Der Komponist wurde vor mehr als 8 Jahren veröffentlicht und ist ein Vorgänger von PEAR, einem PHP-Paketmanager. Der Composer ist zum De-facto-Paketmanager für die meisten PHP-Projekte einschließlich TYPO3 geworden.

Komponisten haben zwar gute Dienste geleistet, aber es gab immer ein Problem mit der Leistung und dem Speicherverbrauch. Die Composer-Version 2 zielt darauf ab, in Bezug auf den Speicher und die schnellere Download-Zeit performanter zu sein.

Ich habe Composer 2 ausprobiert und mit Composer 1 in einem TYPO3-Projekt verglichen, das die verschiedenen Aufgaben ausführt, die in einem allgemeinen TYPO3-Projekt verwendet werden.

Fall 1. Neues TYPO3-Projekt anlegen

 

composer create-project “typo3/cms-base-distribution:^10” YourProjectName --prefer-dist

Fall 2. Neue TYPO3-Erweiterung installieren

 

composer require nitsan/ns-backup

Fall 3. TYPO3-Erweiterung deinstallieren

 

composer remove nitsan/ns-backup

Fall 4. TYPO3-Abhängigkeiten mit composer.lock installieren

 

composer install

Fall 5. TYPO3-Kern aktualisieren

 

composer update --with-dependencies

Composer 2.0 unterstützt immer noch PHP 5.3+, aber das Team Composer plant, die Unterstützung für ältere PHP-Versionen in zukünftigen Minor-Releases zu entfernen, da sie das Gefühl haben, dass es wirklich veraltet ist und den Code stellenweise recht schwer zu warten macht.

Sie können davon ausgehen, dass der Composer ab Composer 2.2 nur noch mit PHP 7.1 oder später funktioniert. Es ist also besser, Ihre TYPO3-Projekte bis dahin auf das neueste PHP zu aktualisieren!

Wenn Sie den Composer 2.0 frisch installieren möchten, dann überprüfen Sie Wie man den Composer installiert Abschnitt.

Sind Sie gespannt auf das Upgrade von Composer 1 auf Composer 2.0? Öffnen Sie Ihr Terminal und probieren Sie die folgenden Befehle aus.

 

// to try the latest RC version (2.x).
composer self-update --preview

// to try the latest dev build (2.x).
composer self-update --snapshot

// to go back to stable releases (1.x for now).
composer self-update --stable

// in CI/scripts, if you want to pin Composer to 1.x until you are ready to migrate, this will ensure you stay on 1.x releases even once a 2.0 stable comes out.
composer self-update --1

 

Upgrade auf Composer 2.0

 

// To upgrade, the following command should be executed:
composer self-update --2

 

Herabstufung auf Composer 1.0

 

// Aha, If your TYPO3 project not compatible with Composer 2, you can roll back to Composer 1
composer self-update --1

Als TYPO3-Entwickler müssen Sie für die Unterstützung von Composer 2.0 keine zusätzliche Sorgfalt aufwenden. Das bedeutet, dass Sie keine Änderungen an Ihrem composer.json vornehmen müssen.

Aber in einigen Fällen erhalten Sie möglicherweise den folgenden Fehler.

"Sie verwenden Composer 2, mit dem einige Ihrer Plugins nicht kompatibel zu sein scheinen. Stellen Sie sicher, dass Sie Ihre Plugins aktualisieren oder ein Plugin-Problem melden, um sie zu bitten, Composer 2 zu unterstützen.

Stellen Sie dann sicher, dass alle abhängigen TYPO3-Erweiterungen den Composer 2.0 wie unten beschrieben richtig konfiguriert haben und unterstützen.

 

"require": {
    "composer-plugin-api": "^1.0 || ^2.0"
},

"require-dev": {
    "composer/composer": "1.6.* || 2.0.*",
    "composer/semver": "1.0.* || 2.0.*",
},

 

Im schlimmsten Fall können Sie mit composer 1.0 weiter an Ihrem TYPO3-Projekt arbeiten ;)

Das Gute ist, dass Composer 2 Rückwärtskompatibilität bietet. Das einzige Problem, auf das Sie bei einem Upgrade auf Composer 2 am ehesten stoßen werden, sind Composer-TYPO3-Erweiterungen, die diese neuere Version noch nicht unterstützen.

Die ideale Lösung wäre es, diese TYPO3-Erweiterungen auf neuere Versionen zu aktualisieren (oder den Entwicklern der TYPO3-Erweiterung einen Antrag auf Unterstützung von Composer 2 zu stellen). Wenn das jedoch nicht möglich ist, können Sie tatsächlich sowohl Composer 1 als auch Composer 2 mitinstallieren, indem Sie die folgenden Schritte befolgen:

Step 1. installieren composer v1 separat

 

sudo cp `which composer` /usr/local/bin/composer1 
sudo composer1 self-update --1

 

Step 2. Aktualisierung Composer to v2

 

sudo composer self-update --2

 

Step 3. hinzufügen composer v2 alias (optional)

 

sudo ln -s `which composer` /usr/local/bin/composer2

Als Dankeschön an die TYPO3-Gemeinschaft stellen Sie bitte sicher, dass Ihre TYPO3-Erweiterungen, die im TER (TYPO3 Extensions Repository) veröffentlicht werden, Composer 2.0 unterstützen :)

Danke für das Lesen meines Blogs.

Ich hoffe, Sie haben die Reise von TYPO3 & Composer 2.0 kennengelernt und genießen sie. Lassen Sie uns kurz rekapitulieren.

  • Zuallererst sollten Sie Ihren Komponisten mit `composer self-update --2` aktualisieren, um blitzschnell in Ihr TYPO3-Projekt zu gelangen.
  • Testen Sie den Composer 2.0 mit Ihrem neuen & bestehendes TYPO3-Projekt.
  • Als TYPO3-Entwickler und CLI-Benutzer, Lesen Sie alle in Composer 2.0 verfügbaren Funktionen
  • Falls Ihr TYPO3-Projekt Kompatibilitätsprobleme mit Composer 2.0 verursacht, dann richten Sie entweder beide Composer-Versionen ein oder rollen Sie einfach für eine Weile auf Composer 1.0 zurück.
  • Nicht zuletzt: Stellen Sie sicher, dass Ihre veröffentlichten TYPO3-Erweiterungen den großartigen Composer 2.0.
  • unterstützen.

Haben Sie ein glückliches TYPO3 mit Composer 2.0!

Post a Comment

×
Captcha Code Kann das Bild nicht gelesen werden? Klicken Sie hier, um zu aktualisieren
  • user
    Felix Flügel 2020-12-01 um 11:09 am
    Cool demo of Composer 2.0 with TYPO3! I loved how you covered the blog with various conditions. Keep up the good work. Thanks
  • user
    Leo Rothmann 2020-12-01 um 10:52 am
    Thanks, Sanjay for quick insights on using composer 2.0 with TYPO3. Indeed Composer 2.0 brings better speed!