Composer, Contao Manager und allow-plugins
Mit Composer 2.2.0 wurde die Option allow-plugins als zusätzlicher Sicherheitsebene eingeführt. (Siehe auch https://getcomposer.org/doc/06-config.md#allow-plugins)
Contao und gewisse Erweiterungen verwenden ebenfalls Plugins für den Composer. Deswegen erscheint beim Aufruf von composer update bzw. composer install eine Abfrage, ob du die nötigen Plugins erlauben und deiner composer.json hinzufügen möchtest.
Mit der Bestätigung [y] wird das benötigte Plugin automatisch bei deiner composer.json hinzugefügt.
Beispiel:
contao-components/installer contains a Composer plugin which is currently not in your allow-plugins config. See https://getcomposer.org/allow-plugins
Do you trust "contao-components/installer" to execute code and wish to enable it now? (writes "allow-plugins" to composer.json) [y,n,d,?]
Contao Manager erlaubt automatisch alle Plugins
Da grundsätzlich jeder Entwickler einer Erweiterung Plugins nutzen kann, ist es schwierig eine zentrale Liste zu erstellen. Außerdem erscheint der Dialog zum Anpassen der composer.json nur auf der Konsole. Deswegen wurde die Konfiguration des Contao Managers so geändert, dass einfach alle Plugins erlaubt sind.
Siehe auch:
https://github.com/contao/contao-manager/blob/1.5.5/api/Config/ComposerConfig.php#L44
Konflikt zwischen Contao Manager und composer.json
Sobald in der composer.json Einträge zu allow-plugins vorhanden sind, greift diese Einstellung zuerst und die allow-all Einstellung des Contao Manager wird nicht mehr ausgeführt. Solltest du also Probleme bei der Installation von Erweiterungen oder Themes haben, dann bereinige deine composer.json und entferne die entsprechenden Einträge.
Tipp für Entwickler
Du kannst in deiner globalen Composer-Konfiguration die Option allow-plugins auf true setzen.
Dazu kannst du den folgenden Befehl ausführen:
composer config --global allow-plugins true
Alternativ kannst du auch manuell deine config.json in deinem Home-Verzeichnis anpassen. Für Mac-User wäre das:
/Users/USERNAME/.composer/config.json
{
"config": {
"allow-plugins": true}
}
Zuletzt aktualisiert am 21.03.2023 von Christian Feneberg.
Weitere häufige Fragen zu Contao
- URL-Umleitung mit der Erweiterung contao-url-rewrite
- Wie lässt sich eine alte Contao-Version über den Contao Manager installieren?
- Formulare - Kopie der Formulardaten per E-Mail an den Absender
- Tipps zur Fehlerbehebung, wenn Bilder oder das CSS im Frontend fehlen
- Seiten lassen sich mit und ohne "index.php" aufrufen
- Notification Center: raw_data mit Zeilenumbruch ausgeben
- Meldung: Ihr Datenbank-Server läuft nicht im Strict-Mode!
- Der Contao Suchindex ist leer bzw. die Suche liefert keine Ergebnisse
- Alles Wichtige über Contao 3.5
- Welche Contao Version habe ich?
- Wie installiere ich Contao?
- Welche PHP-Version benötigt Contao?
- Was kostet Contao?
- MAMP 6.6 Fehler: "Error handling the Composer Resolver Cloud. Please try again later"
- Lokale Contao Installation bei MAMP schlägt fehl: "exception occured … figure out your platform version"
- Contao 4 - Anwendungs-Cache leeren
- Contao Manager hängt beim Hintergrund-Prozess: Contao Manager aktualisieren fest
- Fehlermeldung: PHP symlink method is unavailable…