Composer bricht ab — und die Meldung ist länger als die Fehlerseite.
Composer-Fehlermeldungen sehen furchteinflößend aus, sind aber die präzisesten Meldungen im ganzen TYPO3-Umfeld: Sie nennen genau, welches Paket welche Version verlangt und wer dagegensteht. Man muss sie nur von unten nach oben lesen.
Die drei häufigsten Fälle: ein Abhängigkeitskonflikt — ein Paket verlangt etwas, das ein anderes ausschließt; ein Speicherlimit auf der Kommandozeile, weil Composer viel Arbeitsspeicher braucht; und eine falsche PHP-Version. Wichtigste Regel: Composer-Befehle gehören nicht ungetestet auf den Produktivserver, und die Lockdatei gehört in die Versionsverwaltung.
Website down oder gehackt? Schreib mir per WhatsApp oder E-Mail mit Domain und kurzer Beschreibung — ich melde mich in der Regel innerhalb weniger Stunden, auch am Wochenende, wenn es brennt. Zugangsdaten bitte nie in der ersten Nachricht, sondern erst nach Absprache über einen sicheren Weg.
Was Composer in TYPO3 macht.
Composer ist die Paketverwaltung für PHP. Bei modernen TYPO3-Installationen verwaltet sie den Kern, alle Extensions und deren Abhängigkeiten: Welche Version wird gebraucht, welche passt zu welcher, was muss zusammen aktualisiert werden. Die Vorgaben stehen in einer Konfigurationsdatei, der tatsächlich installierte Stand in einer Lockdatei.
Der Vorteil: Updates werden nachvollziehbar und wiederholbar. Der Preis: Man muss verstehen, wie Abhängigkeiten funktionieren — sonst wirken Fehlermeldungen willkürlich.
Fehlermeldungen lesen.
Composer gibt bei Konflikten eine lange Liste aus, die wie Kauderwelsch wirkt. Der Trick: Die wichtigste Zeile steht meist am Ende der Aufzählung, und jede Zeile ist ein Glied einer Kette. Gelesen wird sinngemäß so: „Paket A braucht Paket B in Version X, aber installiert ist Version Y, weil Paket C das so verlangt."
Damit hast du den Konflikt benannt — und meist auch den Schuldigen: Das Paket, das eine veraltete Version festhält, ist fast immer eine Extension, die seit Längerem kein Update bekommen hat. Notier dir aus der Meldung die zwei bis drei Paketnamen; alles andere ist Beiwerk.
Abhängigkeitskonflikte.
| Lage | Lösungsweg |
|---|---|
| Extension blockiert Kern-Update | Extension zuerst aktualisieren |
| Keine passende Fassung verfügbar | Ersetzen oder prüfen, ob sie entbehrlich ist |
| Zwei Extensions widersprechen sich | Eine davon ablösen |
| Eigenentwicklung mit enger Vorgabe | Vorgabe in der eigenen Konfiguration anpassen |
| Veraltete Vorgaben in der Konfiguration | Versionsangaben überprüfen |
Was man vermeiden sollte: den Konflikt mit dem Ignorieren von Anforderungen zu erzwingen. Das funktioniert manchmal und führt zu Fehlern, die später an völlig anderer Stelle auftauchen und sich nicht mehr zuordnen lassen. Wenn es gar nicht anders geht, dann bewusst, dokumentiert und mit anschließendem Test — nicht als Standardlösung.
Oft ist die beste Antwort die unbequeme: Eine Extension, für die es keine passende Fassung gibt, hält die ganze Installation auf. Dann steht die Frage an, ob sie wirklich gebraucht wird (Extensions bewerten).
Speicherlimit.
Composer berechnet Abhängigkeiten und braucht dafür erstaunlich viel Arbeitsspeicher — bei größeren Installationen deutlich mehr, als auf vielen Servern erlaubt ist. Das Ergebnis ist ein Abbruch mit einer Meldung über erschöpften Speicher, mitten im Vorgang.
php -d memory_limit=-1 /usr/local/bin/composer update "typo3/*" --with-dependenciesDas hebt die Grenze nur für diesen Aufruf auf und ändert nichts an der Serverkonfiguration. Bei sehr knappen Paketen reicht auch das nicht — dann hilft nur ein größeres Hosting oder das Vorbereiten auf einem anderen Rechner.
Ein Nebeneffekt, den man kennen sollte: Composer braucht auch Festplattenplatz für Zwischendateien. Ist der Webspace fast voll, scheitert der Vorgang ebenfalls — mit einer Meldung, die nicht danach aussieht (Speicherplatz).
PHP-Version und Erweiterungen.
Composer läuft auf der Kommandozeile, und dort kann eine andere PHP-Version aktiv sein als im Webserver. Das führt zu zwei verwirrenden Fällen: Composer installiert Pakete für eine Version, die die Website gar nicht nutzt — oder er verweigert die Installation, obwohl die Website die Anforderung erfüllt.
Prüfe die Version auf der Kommandozeile und rufe im Zweifel PHP mit vollem Pfad auf, statt dich auf den Standard zu verlassen. Dasselbe gilt für fehlende PHP-Erweiterungen: Composer meldet sie klar, und sie müssen auf der Kommandozeile vorhanden sein, nicht nur im Webserver (Hosting-Anforderungen).
Die Lockdatei.
Sie hält fest, welche Versionen tatsächlich installiert sind. Damit lässt sich derselbe Stand auf einem anderen Server exakt wiederherstellen — die Grundlage für verlässliche Abläufe zwischen Test- und Produktivumgebung.
Zwei Regeln dazu. Erstens: Die Lockdatei gehört in die Versionsverwaltung, nicht ausgeschlossen. Zweitens: Auf dem Produktivserver wird nicht aktualisiert, sondern installiert — also der in der Lockdatei festgehaltene Stand eingespielt. Das Aktualisieren passiert in der Testumgebung, und die neue Lockdatei wird ausgerollt. Wer diese Trennung einhält, hat die Hälfte aller Composer-Probleme nicht (Testumgebung).
Rechte und Pfade.
Composer legt Dateien an und braucht dafür Schreibrechte im Projektverzeichnis. Läuft er unter einem anderen Benutzer als der Webserver, gehören die erzeugten Dateien dem falschen Konto — und die Website kann sie nicht lesen oder nicht schreiben, wo sie müsste.
Symptom: Nach einem Composer-Lauf funktioniert die Website nicht mehr, obwohl der Vorgang durchlief. Dann stimmen die Besitzverhältnisse nicht. Bei gutem Hosting ist das kein Thema, bei selbst verwalteten Servern gehört es geprüft (Dateirechte).
Sicheres Vorgehen.
- Backup von Dateien und Datenbank, bevor etwas angefasst wird.
- In der Testumgebung aktualisieren, nicht auf dem Produktivserver.
- Ausgabe lesen, bevor bestätigt wird — besonders bei Paketen, die entfernt werden sollen.
- Nach dem Lauf: Caches leeren, Datenbankabgleich ausführen (Cache).
- Testen, dann die Lockdatei ausrollen und auf dem Produktivsystem installieren.
- Dort erneut: Caches, Datenbankabgleich, kurz prüfen.
Wenn kein SSH vorhanden ist.
Ohne Kommandozeile lässt sich eine Composer-Installation nicht sinnvoll betreiben. Es gibt Hilfskonstruktionen — Pakete lokal vorbereiten und hochladen —, aber die sind umständlich und fehleranfällig. Wenn du eine Composer-Installation hast und keinen SSH-Zugang, ist das die eigentliche Baustelle: Entweder ein Hosting mit SSH, oder zurück zu einer klassischen Installation.
Für eine ernsthaft betriebene TYPO3-Installation würde ich SSH als Pflichtmerkmal behandeln. Die Zeit, die man ohne verliert, kostet mehr als der Aufpreis für ein geeignetes Paket.
Von klassisch auf Composer.
Viele ältere Installationen laufen noch klassisch, mit Extensions im Dateisystem. Die Umstellung auf Composer ist ein eigenes kleines Projekt: Alle Extensions müssen als Pakete verfügbar sein, eigene Erweiterungen brauchen eine passende Beschreibung, und die Verzeichnisstruktur ändert sich.
Der Aufwand lohnt, wenn regelmäßig aktualisiert wird oder ein Versionssprung ansteht — danach sind Updates deutlich einfacher und nachvollziehbar. Bei einer kleinen, selten geänderten Installation kann klassisch auch bleiben; dann sollte man aber wissen, dass bestimmte Wege nicht offenstehen (Updates).
Wenn du nicht weiterkommst.
Wenn Composer abbricht und die Meldung nichts hergibt, lese ich die Abhängigkeitskette und sage dir, welches Paket blockiert. Schreib mir mit Domain, TYPO3-Version und einer kurzen Beschreibung — du bekommst eine ehrliche Einschätzung, ob ich der Richtige bin. Den Überblick über alle Themen gibt TYPO3-Fehler beheben. Wenn sich am Ende herausstellt, dass ein Wechsel die bessere Lösung ist: TYPO3 zu WordPress.
Ursache finden, Website wieder zum Laufen bringen, kurzer Bericht — meist am selben Tag.
Für Anpassungen, Fehlerbehebung und Beratung nach Aufwand, abgerechnet in 15-Minuten-Schritten.
Updates, Backups, Sicherheitscheck, Monitoring — Kleinigkeiten inklusive.
Orientierungswerte, keine Fixpreise — nach einem kurzen Gespräch bekommst du ein Festpreisangebot.
Wer hilft.
Ich bin Manuel Killert, Web-Entwickler aus Quakenbrück. Mein Schwerpunkt liegt auf WordPress — an TYPO3-Installationen arbeite ich dort, wo es um Betrieb und Fehlersuche geht: Ausfälle, Serverthemen, Datenbank, Mailversand, Updates und die Frage, wie es mit einer alten Installation weitergehen soll. Das sind die Probleme, bei denen die Ursache meist nicht im System selbst liegt, sondern darunter. Geht es um tiefe Entwicklung in TYPO3 — eigene Extensions, komplexe Mehrsprachigkeit, große Redaktionssysteme —, sage ich dir das offen und empfehle jemanden, der genau das macht. Ehrlich beraten heißt für mich auch, eine Anfrage abzugeben.
FAQ — Composer-Fehler.
Wie lese ich eine Composer-Fehlermeldung?
Als Kette: Paket A braucht Paket B in einer bestimmten Version, aber installiert ist eine andere, weil Paket C sie festhält. Die zwei bis drei genannten Paketnamen sind das Wesentliche, der Rest ist Beiwerk.
Was mache ich bei einem Abhängigkeitskonflikt?
Das blockierende Paket zuerst aktualisieren, eine Extension ersetzen oder prüfen, ob sie entbehrlich ist. Den Konflikt durch Ignorieren von Anforderungen zu erzwingen, erzeugt später Fehler an anderer Stelle.
Warum bricht Composer mit Speicherfehler ab?
Weil die Berechnung der Abhängigkeiten viel Arbeitsspeicher braucht, oft mehr als auf dem Server erlaubt. Für einen einzelnen Aufruf lässt sich die Grenze anheben.
Gehört die Lockdatei in die Versionsverwaltung?
Ja. Sie hält den tatsächlich installierten Stand fest und erlaubt, ihn exakt wiederherzustellen. Auf dem Produktivserver wird installiert, nicht aktualisiert.
Kann ich Composer ohne SSH nutzen?
Nicht sinnvoll. Eine Composer-Installation ohne Kommandozeile lässt sich kaum betreiben. Dann ist entweder ein Hosting mit SSH nötig oder eine klassische Installation.
Lohnt die Umstellung von klassisch auf Composer?
Wenn regelmäßig aktualisiert wird oder ein Versionssprung ansteht, ja — danach sind Updates einfacher und nachvollziehbar. Bei kleinen, selten geänderten Installationen kann klassisch bleiben.
Das bin ich – rechts im BildErzähl mir, was an deinem TYPO3 klemmt.
Beschreib kurz das Problem und nenn mir die TYPO3-Version — du bekommst eine ehrliche Einschätzung, woran es liegt und was es kostet.
Antwort meist innerhalb von 24 Stunden · hallo@manuelkillert.de