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.

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

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.


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


-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.


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
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.