Ich möchte den Benutzern meines Composer-Pakets eine Schnittstelle zur Auswahl und Installation eines der vorgeschlagenen Pakete anbieten. Es scheint keine Befehlszeilenoption zu geben, und in der API kann ich nur eine finden getSuggests()
Methode, die die vorgeschlagenen Pakete auflistet.
Gibt es eine Möglichkeit (nativ oder mit einem Installationsprogramm eines Drittanbieters), dem Benutzer die Wahl zu geben, vorgeschlagene Pakete auszuwählen?
Soweit ich weiß, gibt es keine Möglichkeit, dies mit der üblichen Composer-Funktionalität zu erreichen.
Sie können Ihre eigenen Skripte schreiben, die bei post-package-install
ausgeführt werden. Skripte werden jedoch nur ausgeführt, wenn sie im composer.json
des Root-Pakets definiert sind (weitere Informationen zur Verwendung von Skripten hier ) ). Skripte, die in Abhängigkeiten definiert sind, werden aus Sicherheitsgründen nicht ausgeführt (es gab vor einiger Zeit eine Diskussion über den GitHub ) .
Aber vielleicht passt ein Composer-Plugin zu Ihren Bedürfnissen. Plugins werden verwendet, um die Funktionalität von Komponisten zu erweitern (mehr Informationen zu Plugins finden Sie hier ).
Als einfache Alternative schlage ich vor, eine vorgeschlagene Paketnachricht zu definieren wie:
If you need XY functionality run: php composer.phar require vendor/package:2.*
Der Benutzer kann dann diesen Befehl verwenden, um es zu installieren. Nicht so komfortabel wie gewünscht, aber immer noch einfach genug für die meisten Benutzer, denke ich.
Versuchen Sie
%Vor%Fügen Sie das Flag -v hinzu, um es ausführlich zu machen.
Dies wird nichts installieren, es wird nur alle Vorschläge auflisten. Sie können es jedoch an composer requiren und die gewünschte Ausgabe erhalten.
Dieser hat es für mich getan:)
%Vor%Ich hoffe, es wird helfen:)
Tags und Links php composer-php dependency-management command-line-interface