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?
Antworten:
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:
Beachten Sie, dass dieser Schritt nicht mehr erforderlich ist, wenn Sie Ihr Modul veröffentlichen und andere es über Composer installieren.
quelle