Ich habe gerade Composer in meinem /usr/bin
Ordner installiert. Wenn ich diesen Ordner ausführe, php composer.phar
erhalte ich die Hilfeinformationen zu Composer. Aber wenn ich versuche, dasselbe aus einem anderen Ordner auszuführen, bekomme ich Could not open input file: composer.phar
.
Wie kann man php composer.phar
von überall ohne Probleme anrufen ?
php
composer-php
ziiweb
quelle
quelle
composer install
.php composer.phar
, befindet es sich wahrscheinlich in Ihrem aktuellen Verzeichnis.sudo mv composer.phar /usr/local/bin/
dannalias composer='/usr/local/bin/composer.phar'
.Sie können eine globale Installation durchführen ( archivierte Anleitung ):
Update : Manchmal können oder möchten Sie nicht herunterladen
/usr/local/bin
(einige haben Probleme mit Benutzerberechtigungen oder eingeschränkten Zugriff). In diesem Fall können Sie dies versuchencurl -sS http://getcomposer.org/installer | php -- --filename=composer
chmod a+x composer
sudo mv composer /usr/local/bin/composer
Update 2 : Für Windows 10 und PHP 7 empfehle ich dieses Tutorial . Persönlich habe ich Visual C ++ Redistributable für Visual Studio 2017 x64 vor PHP 7.3 VC15 x64 installiert. Überprüfen Sie nicht, welche Versionen von beiden auf der Seite PHP für Windows im Seitenmenü verfügbar sind . Lesen Sie es sorgfältig durch und möglicherweise kann der Abschnitt "Aktivierungserweiterungen" abweichen (
extension=curl
anstelle vonextension=php_curl.dll
). Funktioniert wie ein Zauber, viel Glück!quelle
composer
- guter Anmerkung hier aufgerufen wird .curl -sS https://getcomposer.org/installer | php -- --filename=composer
So führen Sie Composer von überall (unter MacOS X) über das Terminal aus
Hintergrund:
Auf der getComposer-Website heißt es eindeutig: Installieren Sie den Composer mit dem folgenden Befehl curl:
curl -sS https://getcomposer.org/installer |php
Und es macht auf jeden Fall das, was es tun soll. Und dann heißt es, die Datei composer.phar in das Verzeichnis / usr / local / bin / composer zu verschieben, und dann ist Composer global verfügbar, indem Sie die folgende Befehlszeile im Terminal verwenden!
Frage:
Das Problem, das mich zu Google führt, ist, dass ich die obige Zeile in Mac OS X Terminal ausgeführt habe. Die Berechtigung wurde verweigert. Wie folgt:
Antworten:
Der folgende Link führte mich wie ein Zauber zur Lösung und ich bin dafür dankbar. Das, was ich gerade verpasst habe, war der Befehl sudo vor der oben angegebenen Befehlszeile "Verschieben". Jetzt lautet mein Verschiebungsbefehl wie folgt:
Sie werden direkt aufgefordert, sich zu authentifizieren und zu prüfen, ob Sie berechtigt sind. Wenn Sie also ein gültiges Kennwort eingeben, wird das Verschieben ausgeführt, und Sie können mithilfe der folgenden Zeile überprüfen, ob Composer global installiert ist.
Ich hoffe, diese Antwort hat Ihnen geholfen, Ihre Sichtweise zu erweitern und Ihr Problem endlich zu lösen.
Prost!
quelle
/usr/local/bin/composer
ist kein Verzeichnis. Dies ist der neue Name für die Datei, die zuvor aufgerufencomposer.phar
wurde.Installieren Sie zuerst den Composer wie in der Installationsdokumentation des Composers beschrieben . Ich habe hier nur als Referenz hinzugefügt.
curl -sS https://getcomposer.org/installer | php
und verschieben Sie die Datei dann nach '/ usr / local / bin'.
sudo mv composer.phar /usr/local/bin/composer
Versuche zu rennen
composer -V
. Wenn Sie eine Ausgabe wieComposer version
gefolgt von der Versionsnummer erhalten, wird der Composer erfolgreich installiert.Wenn Sie eine Ausgabe wie diese erhalten
composer: command not found
, verwenden Sie den folgenden Befehl, um einen Alias für den Komponisten zu erstellen. Es wird also global ausgeführt.alias composer='/usr/local/bin/composer'
Wenn Sie jetzt ausführen
composer -V
, erhalten Sie die Ausgabe,Composer Version
gefolgt von der Versionsnummer.Hoffe das wird jemandem helfen.
quelle
Führen Sie einfach diesen Befehl aus, um Composer global zu installieren
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
quelle
Verschieben Sie es einfach in einen
/usr/local/bin
Ordner und entfernen Sie die Erweiterungquelle
Gehen Sie für MAC und LINUX wie folgt vor:
Fügen Sie das Verzeichnis hinzu, in dem sich composer.phar befindet. PATH:
und benennen Sie dann composer.phar in composer um:
quelle
Um es von einem anderen Ort aus auszuführen, können Sie das mit dem Programm gelieferte Composer-Programm verwenden. Es ist im Grunde ein Bash-Skript. Wenn Sie es nicht haben, können Sie es erstellen, indem Sie einfach den folgenden Code in eine Textdatei kopieren
#!/bin/sh dir=$(d=$(dirname "$0"); cd "$d" && pwd) if command -v 'cygpath' >/dev/null 2>&1; then dir=$(cygpath -m $dir); fi dir=$(echo $dir | sed 's/ /\ /g') php "${dir}/composer.phar" $*
Speichern Sie dann die Datei in Ihrem bin-Ordner und nennen Sie sie Composer ohne Dateierweiterung. Fügen Sie dann den Ordner bin zu Ihrer Umgebungsvariablen f hinzu
quelle
Sie können eine einfache globale Installation durchführen, um sie von überall aus auszuführen
curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer
Die Website https://getcomposer.org/doc/00-intro.md#globally empfiehlt diesen Weg. Funktionierte gut unter Ubuntu 14.04 kein Problem. Auf diese Weise müssen Sie dies nicht als Beispiel in einem Verzeichnis
php compomser.phar show
tuncomposer show
, mit dem Sie arbeiten.quelle
Ein Teil davon kann auf das Betriebssystem zurückzuführen sein, auf dem Ihr Server ausgeführt wird. Ich habe kürzlich eine Migration auf eine neue Hosting-Umgebung mit Ubuntu durchgeführt. Das Hinzufügen dieses Alias
alias composer="/path/to/your/composer"
zu .bashrc oder .bash_aliases funktionierte zunächst aus zwei Gründen nicht:Auf dem Server wurde standardmäßig csh und nicht bash ausgeführt. Führen Sie aus, um zu überprüfen, ob dies in Ihrem Fall ein Problem darstellt
echo $0
. Wenn das zurückgegeben-csh
wird, möchten Sie es in bash ändern, da einige von Composer ausgeführte Prozesse mit csh / tcsh fehlschlagen .Um dies zu ändern, überprüfen Sie zunächst, ob bash auf Ihrem Server verfügbar ist, indem Sie ausführen
cat /etc/shells
. Wenn in der zurückgegebenen Listebin/bash
angezeigt wird, können Sie die Standardeinstellung durch Ausführen in "Bash" ändernchsh -s /bin/csh
.Jetzt sollten Sie in der Lage sein, Composer auszuführen, aber normalerweise müssen Sie unter Ubuntu das Skript bei jeder Sitzung laden, indem Sie Ihre Bash-Skripte durch Ausführen von
source ~/.bashrc
oder beziehensource ~/.bash_profile
. Dies liegt daran, dass Ubuntu in den meisten Fällen Ihr Bash-Skript nicht lädt, da es.profile
als Standardskript geladen wird .Um Ihre Bash-Skripte beim Öffnen einer Sitzung zu laden, fügen Sie dies Ihrem .profile hinzu (wenn Ihr Bash-Skript .bashrc ist - ändern Sie es entsprechend, wenn .bash_profile oder ein anderes):
if [ -n "$BASH_VERSION" ]; then # include .bashrc if it exists if [ -f "$HOME/.bashrc" ]; then . "$HOME/.bashrc" fi fi
Schließen Sie zum Testen Ihre Sitzung und laden Sie sie neu. Wenn es richtig funktioniert, läuft
composer -v
oderwhich composer
sich wie erwartet verhalten sollte.quelle