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?


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.


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,
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.