Ich möchte meinem benutzerdefinierten Drupal 7-Modul eine Bibliothek hinzufügen. Bibliothek kann über Composer installiert werden, aber ich kann keine Lösung für die Installation finden? Wie kann ich diese Bibliothek installieren? Ich habe "Composer Manager" installiert, kann es aber immer noch nicht zum Laufen bringen.
8
Antworten:
Fügen Sie
composer.json
Ihrem Modul zunächst eine Datei hinzu. Das einzige, was Sie hier benötigen, ist derrequire
Abschnitt, der Ihre externe Bibliothek enthält.Composer manager
Dies ist eine Möglichkeit, alle Ihre Abhängigkeiten miteinander zu kombinieren. Es gibt jedoch auch andere Optionen, mit denen Drupal Ihre autoload.php-Datei laden kann. Die Technik, die ich bevorzuge, besteht darin, einecomposer.json
Datei auf Projektebene in Ihrem Drupal-Stammverzeichnis zu erstellen und das Modul composer_vendor zu verwenden, um Ihre Datei autoload.php einzuschließen.Der einfachste Weg, um loszulegen, ist die Verwendung der Erweiterung composer_generate Drush, um Ihre
composer.json
Datei auf Projektebene zu erstellen.$ drush dl composer_generate $ cd /path/to/drupalroot $ drush composer-generate > composer.json $ composer install
Composer-generate fügt alle derzeit auf Ihrer Drupal-Site verwendeten Projekte sowie composer_vendor hinzu und
composer install
sollte daher nur für Sie funktionieren. Die Hauptmagie liegt hier in den benutzerdefinierten Autoloadern, die der Vorlage hinzugefügt wurden. Schauen Sie sich die Ausgabe an, um zu sehen, was enthalten war.Hier ist natürlich Vorsicht geboten. Mit der Standardvorlage werden alle Ihre Module in sites / all / modules / contrib abgelegt. Sie können die Vorlage vor dem Ausführen der Composer-Installation bearbeiten, wenn dies nicht gewünscht ist.
Sie müssen auch vorsichtig sein, wenn Sie modifizierte Module haben. Es gibt eine Reihe von Möglichkeiten, mit gehackten Inhalten umzugehen, aber das geht etwas über den Rahmen dieser einen Frage hinaus.
Aktualisieren
Wenn Sie Drush nicht ausführen möchten, können Sie auch Ihre eigene Datei composer.json mithilfe des Projekts https://github.com/drupal-composer/drupal-project manuell eingeben . Dies ist die Vorlage, auf der Composer-Generate basiert.
quelle