Magento2: So fügen Sie das dritte Pary-Modul über composer.json in ein benutzerdefiniertes Modul ein

8

Ich habe ein benutzerdefiniertes Modul erstellt. Dieses Modul hängt vom Modul eines Drittanbieters ab (tecnickcom / tcpdf). Ich habe diese Bibliothek in meiner benutzerdefinierten Modulkomponente composer.json hinzugefügt

{
"name": "packagename/mymodule",
"description": "N/A",
"require": {
    "php": "~5.5.0|~5.6.0",
    "magento/magento-composer-installer": "*",
    "tecnickcom/tcpdf":"*"
},
"type": "magento2-module",
"version": "2.0.0",
"license": [
    "GPL-3.0"
],
"autoload": {
    "files": [
        "registration.php"
    ],
    "psr-4": {
        "Packagename\\Mymodule\\": ""
    }
}

}

Wenn ich diese Datei composer.json ausführe, wird der Ordner "Hersteller erstellen" in meinem benutzerdefinierten Modul erstellt und die Bibliothek "tecnickcom / tcpdf" heruntergeladen. Sie sollte sich jedoch im Stammordner des Anbieters befinden. Wie kann ich das erreichen?

Yogesh Karodiya
quelle
Sie führen das Composer-Update am falschen Ort aus. Sie müssen es aus dem Magento-Stammverzeichnis und nicht aus Ihrem Modul heraus ausführen.
Smartie
Ich habe es auch versucht, aber kein Ergebnis
erzielt
Gibt es eine Abhängigkeit in der Datei composer.json des Hauptprojekts für Ihr benutzerdefiniertes Modul?
Smartie
nein, aber wie können wir es in root composer.json
Yogesh Karodiya

Antworten:

7

Sie sollten die Composer-Installation oder das Composer-Update nur im "Root-Projekt" ausführen. In Ihrem Fall ist dies die Magento-Installation. Da Sie Ihr benutzerdefiniertes Modul anscheinend nicht mit Composer hinzugefügt, sondern als Teil des Root-Projekts entwickelt haben, hat seine eigene composer.json überhaupt keine Auswirkung.

Sie müssen die Anforderung also selbst hinzufügen. Führen Sie dies im Magento-Stammverzeichnis aus:

composer require tecnickcom/tcpdf

Beachten Sie, dass dieser Schritt nicht mehr erforderlich ist, wenn Sie Ihr Modul veröffentlichen und andere es über Composer installieren.

Fabian Schmengler
quelle
Ich möchte DOMPDF-Bibliotheken verwenden, ohne sie über Composer zu installieren. Lassen Sie mich wissen, wie ich meine Erweiterung am besten einrichten kann.
Hitesh Vaghasiya
1
@HiteshVaghasiya bitte poste eine neue Frage dazu, aber benutze zuerst die Suche. Ich bin mir ziemlich sicher, dass es bereits eine Frage zu Bibliotheken von Drittanbietern ohne Komponisten gibt
Fabian Schmengler,