Ausführen von Composer in einem anderen Verzeichnis als dem aktuellen

75

Ich weiß nicht, ob diese Frage gestellt wurde, da bei der Suche hauptsächlich Ergebnisse zum Verschieben des Installationsverzeichnisses der Bibliotheken gefunden werden.

Ich habe einen global installierten Composer-Befehl. Gibt es eine Möglichkeit, beispielsweise composer installin einem anderen Verzeichnis als dem aktuellen auszuführen, dh das Verzeichnis anzugeben, in dem der Befehl ausgeführt werden soll?

Zum Beispiel ist in /home/someuser, würde Ich mag das gleiche Ergebnis erhalten , wie in Laufen composer installes im Innern /home/someuser/myproject. Eine Möglichkeit wäre natürlich, einfach das aktuelle Verzeichnis zu ändern, Composer auszuführen und zurückzukehren.

Przemek
quelle

Antworten:

146

Klar, versuch es composer install -h. Dort finden Sie eine Option --working-dir(oder -d). Und genau das suchen Sie.

Dann renne:

composer install -d=/home/someuser/myproject

Weitere Informationen finden Sie in den Composer-Dokumenten .


Abhängig von Ihrem Betriebssystem muss =möglicherweise Folgendes entfernt werden:

composer install -d /home/someuser/myproject
Tomáš Votruba
quelle
4
-d=/home/someuser/myprojectwirft tatsächlich einen Fehler für mich. Die aktuelle Version des Komponisten scheint -d /home/user/myproject/stattdessen zu akzeptieren .
Jan Richter
2
AFAIK hängt vom Betriebssystem ab (Windows, Linux, OS X). Vielen Dank für Ihren Kommentar. Ich habe die Antwort aktualisiert, um die Unterschiede zwischen den Betriebssystemen deutlicher zu machen.
Tomáš Votruba
1
Mit =hat mein Build eine Million Mal fehlgeschlagen, danke , dass du dieses Detail hinzugefügt hast :)
Levi Johansen
15

Zusätzlich zu der obigen Antwort von Tomáš Votruba musste ich den = charachter an OSX anhängen. Der vollständige Befehl wäre also:

composer install -d=/home/someuser/myproject

Mein erster Beitrag auf SO konnte dies also nicht einfach als Kommentar hinzufügen.

Eric Mulder
quelle
Danke Eric, ich habe die Antwort aktualisiert, um sicherzustellen, dass sie für alle funktioniert. Ich habe unter Linux getestet und funktioniert auch.
Tomáš Votruba
2

Dies funktioniert für mich, PHP 7.3 auf Ubuntu 18.04

Installieren

Komponisteninstallation --working-dir = / your_composer_dir

Aktualisieren

Komponisten-Update --working-dir = / your_composer_dir

M_R_K
quelle
-3

Lauf:

cd /home/mysites/google.com

Dann renne:

composer require facebook/graph-sdk

Die obigen Schritte öffnen das Verzeichnis mit dem Namen (google.com) und installieren dort das Facebook Graph SDK.

Henlly
quelle
2
Ich denke nicht, dass ein Verzeichniswechsel erwünscht ist. Wenn die Anforderung ausgeführt werden soll composer install, warum haben Sie außerdem ein zu installierendes Paket eingeführt?
Nico Haase