Drupal 8 Composer - Colorbox Library

Mit Drupal 8 erfolgt die Softwareverwaltung mit composer, zumindest ist dies der empfohlene Weg.

Möchte man das Colorbox-Modul laden, geht dies über den Befehl:

composer require drupal/colorbox

Damit wird das Modul auch wie gewünscht heruntergeladen und kann installiert/aktiviert werden.

Allerdings benötigt das Modul auch die Colorbox-Library. Diese wird in Drupal 8 im Ordner web/libraries/colorbox installiert. Man kann die Library manuell dort hinkopieren oder auch über drush colorbox-plugin herunterladen. Allerdings ist die Library damit nicht in der Composer-Paketverwaltung eingeschlossen und wird damit nicht automatisch heruntergeladen wenn man z. B. composer install ausführt. Zudem wird der Ordner web/libraries üblicherweise auch nicht in der Versionsverwaltung geführt, da Libraries wie Contrib-Module rein über composer gehandhabt werden.

Um die Library via composer zu laden ergänzt man sein composer.json auf der root-Ebene wie folgt im Bereich "repositories":

    "repositories": [
        {
            "type": "composer",
            "url": "https://packages.drupal.org/8"
        },
        {
            "type": "package",
            "package": {
                "name": "jackmoore/colorbox",
                "version": "master",
                "type": "drupal-library",
                "dist": {
                    "url": "https://github.com/jackmoore/colorbox/archive/1.x.zip",
                    "type": "zip"
                },
                "require": {
                    "composer/installers": "^1.2"
                }
            }
        }       
    ],

Neu hinzugefügt wird dieser Teil

        {
            "type": "package",
            "package": {
                "name": "jackmoore/colorbox",
                "version": "master",
                "type": "drupal-library",
                "dist": {
                    "url": "https://github.com/jackmoore/colorbox/archive/1.x.zip",
                    "type": "zip"
                },
                "require": {
                    "composer/installers": "^1.2"
                }
            }
        }

Danach kann man die Library mit composer require jackmoore/colorbox installieren.

Kommentare

Hier wird unter der akzeptierten Lösung eine weitere Methode beschrieben:
https://stackoverflow.com/questions/43121292/how-to-install-third-party-...

@Stefan: Vielen Dank für das Teilen Deiner Lösung.

Bei "Neu hinzugefügt wird dieser Teil" muss vor die öffnende 1. geschweifte Klammer noch ein Komma - aber das findet man anhand der Fehlermeldung, dass die angepasste composer.json Datei einen Syntaxfehler hat, im Zweifel auch selbst heraus.

Deine Lösung funktioniert auch noch in der aktuellen Drupal 8.9 Version. Ich hatte neulich mit einer Library für das ckwordcount contrib module Probleme, diese über Composer zu installieren - siehe auch https://www.drupal.org/project/ckwordcount/issues/3172165 - und ich musste mir dann mit der dort genannten Behelfslösung mit dem Umkopieren der lib aus dem vendor Ordner behelfen - siehe https://www.drupal.org/project/ckwordcount/issues/3172165#comment-13833662 - aber vielleicht bekomme ich Deine Lösung diesbezüglich adaptiert, weil sie auf jeden Fall eleganter anmutet ;-)

Beste Grüße
Martin (vom bednorz Projekt)

Neuen Kommentar schreiben

Filtered HTML

  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • Zulässige HTML-Tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • HTML - Zeilenumbrüche und Absätze werden automatisch erzeugt.
  • To post pieces of code, surround them with <code>...</code> tags. For PHP code, you can use <?php ... ?>, which will also colour it based on syntax.

Plain text

  • Keine HTML-Tags erlaubt.
  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • HTML - Zeilenumbrüche und Absätze werden automatisch erzeugt.