Wie platziere ich das Verzeichnis ~ / .composer / vendor / bin in deinem PATH?


232

Ich bin auf Ubuntu 14.04 und habe alle möglichen Methoden ausprobiert, um Laravel ohne Erfolg zu installieren. Fehlermeldungen alles, was ich versuche. Ich versuche jetzt die erste Methode in der Schnellstartdokumentation, dh über Laravel Installer, aber sie lautet: "Stellen Sie sicher, dass Sie das ~/.composer/vendor/binVerzeichnis in Ihrem Verzeichnis ablegen, PATHdamit die ausführbare Laravel-Datei gefunden wird, wenn Sie den Laravel-Befehl in Ihrem Terminal ausführen." Meine Frage ist also, wie mache ich das? Dies mag eine einfache Frage sein, aber ich bin wirklich frustriert und würde mich über jede Hilfe freuen.

Antworten:


520

Um diesen Ordner in den Umgebungsvariablentyp PATH zu legen

export PATH="$PATH:$HOME/.composer/vendor/bin"

Dadurch wird der Ordner an Ihren vorhandenen Pfad angehängt, er ist jedoch nur für Ihre aktuelle Terminalsitzung aktiv.

Wenn Sie möchten, dass es automatisch festgelegt wird, hängt es von der verwendeten Shell ab. Für Bash können Sie diese Zeile $HOME/.bashrcmit Ihrem bevorzugten Editor anhängen oder Folgendes in die Shell eingeben

echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bashrc

Um zu überprüfen, ob es funktioniert hat, melden Sie sich ab und wieder an oder führen Sie es aus

source ~/.bashrc

auf der Schale.

PS: Für andere Systeme, bei denen es keine gibt ~/.bashrc, können Sie dies auch eingeben~/.bash_profile

PSS: Für neue Laravel müssen Sie setzen $HOME/.config/composer/vendor/binauf dem PATH.

PSSS: Wenn Sie diesen Ordner auch für andere Shells oder auf der GUI in den Pfad einfügen möchten, sollten Sie den genannten exportBefehl an anhängen ~/.profile(vgl. Https://help.ubuntu.com/community/EnvironmentVariables ).


1
Funktioniert hier am Ubuntu 14.04 wie ein Zauber. Möglicherweise möchten Sie sich abmelden / anmelden und / oder ein neues Terminalfenster öffnen, wenn die Dinge nicht zu funktionieren scheinen.
Michiel

4
Sie sollten $HOMEstatt ~im Composer-Pfad verwenden. Ich bin mir nicht sicher über Bash, aber es ist sicherlich notwendig, wenn Sie es in zsh's einstellen .zshrc.
Phaberest

40
Es sollte beachtet werden, dass unter Ubuntu 16.04 unter Laravel 5.1 der Pfad lautet: ~ / .config / composer / vendor / bin
waweru

1
Ich habe es versucht, kein Glück! Außerdem habe ich kein Verzeichnis namens ./composer/vendor. Ich habe nur .composer und dort habe ich einen Cache-Ordner. Ich suche jetzt seit 2 Tagen.
nclsvh

1
echo 'export PATH = "$ PATH: $ HOME / .config / composer / vendor / bin"' >> ~ / .bashrc fehlte das .config-Verzeichnis, DANN führen Sie source ~ / .bashrc aus
cecil merrel aka bringrainfire

137

Detaillierte Anleitung:

Fügen Sie in Ihrem ~ / .bashrc die folgenden Zeilen hinzu:

export PATH="$PATH:~/.composer/vendor/bin"

Dann neu laden:

source ~/.bashrc

Überprüfen Sie, ob es richtig hinzugefügt wurde:

echo $PATH

/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/web/bin:~/.composer/vendor/bin

Vielen Dank! Ich bin mit Unix nicht allzu vertraut und das machte total Sinn! (Und Dollar!)
sunnysidedown916

Das, was ich $ PATH wiederhole, enthält nicht den Komponistenteil. Ich habe es buchstäblich über 100 Mal auf alle möglichen Arten hinzugefügt und ungefähr 5 Mal neu gestartet, um einen neu geladenen Bashrc neu zu starten. Nichts. Irgendeine Idee?
nclsvh

source ~ / .bashrc --- Ich muss dies jedes Mal tun, wenn ich laravel sollte. Dies ist die beste Antwort für mich
Brainmaniac

54

In Ubuntu 16.04 LTS mit global installiertem Composer hat dies bei mir funktioniert.

Bearbeiten Sie die .bashrc-Datei in Ihrem Home-Verzeichnis und geben Sie den Pfad zum Composer-Bin-Ordner ein, der sich in /your/home/.config/composer/vendor/bin befindet

echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> ~/.bashrc

source ~/.bashrc

Wenn dies nicht funktioniert, überprüfen Sie den Pfad zum Composer-Bin-Verzeichnis und schließen Sie das Terminal und öffnen Sie es erneut. Versuchen Sie andernfalls, sich bei Ubuntu abzumelden und anzumelden.

Funktioniert auch in Ubuntu 18.04. Vielen Dank an @chifliiiii für Ihr Feedback.


1
Arbeitete mit Parrot OS 3.8
Abdelsalam Shahlol

1
Dies funktioniert, wenn Sie das Installationsprogramm für Composer Laravel ausführen. Es ändert das Verzeichnis in Geändertes aktuelles Verzeichnis in /home/username/.config/composer ./composer.json wurde gemäß dem Pfad in dieser Antwort aktualisiert
ottz0

1
Dies ist die, die für mich unter Ubuntu 17.10 funktioniert hat. Vielen Dank.
GabMic

36

Verwenden Sie den folgenden Befehl, um den PFAD unter Yosemite (OS X 10.10.5) festzulegen:

echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bash_profile

So laden Sie das Terminal neu und starten es erneut oder verwenden Sie:

source ~/.bash_profile

Hat mir geholfen, hoffe es hilft jemand anderem da draußen!


2
Vielen Dank @ forca001 in meinem .zshrces funktionierte nicht mit ~und es tat schließlich mit$HOME
phaberest

4
Nett! Dies funktionierte auch für mich unter Mac OS X El-Captain.
Askar

1
Dies ist die einzige Antwort, die auf meinem Mac mit OSX Mojave funktioniert hat. Tausend Dank!
Ryan Coolwebs

Dies sollte die akzeptierte Antwort sein. Arbeitete mit MacOS Majave 14.x
OMi Shah

15

Ich habe all das gemacht und es hat bei mir nicht funktioniert.

Ich habe das gerade in mein Terminal kopiert und es hat bei mir funktioniert.

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

1
@ grit45 können Sie bitte erklären, warum es ein wenig funktioniert hat
Abhishek Goel

Bei dieser Frage geht es darum, ein Verzeichnis in den Pfad einzufügen und nicht darum, wie Composer installiert wird.
MrTux

9

Dies dient zum Festlegen von PATH unter Mac OS X Version 10.9.5.

Ich habe versucht, $ HOME hinzuzufügen, weil ich das Benutzerprofil verwende:

echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bashrc

Wenn Sie kein Benutzerprofil verwenden:

echo 'export PATH="$PATH:~/.composer/vendor/bin"' >> ~/.bashrc

Dann neu laden:

source ~/.bashrc

Ich hoffe das hilft dir.


4

Öffnen Sie das Mac-Terminal:

vi ~/.bashrc

Wenn Sie vi nicht verwendet haben, sieht es auf den ersten Blick möglicherweise etwas komisch aus. Geben Sie daher den folgenden Code der Reihe nach sorgfältig ein:

i
export PATH="$PATH:$HOME/.composer/vendor/bin"

DRÜCKEN SIE ESC

:
w

DRÜCKEN SIE ENTER

:
q

DRÜCKEN SIE ENTER

Jetzt sollten Sie zur normalen Terminalansicht zurückkehren.

Überprüfen Sie, ob der Komponist jetzt den richtigen Pfad hat:

cd ~/.composer
echo $PATH

Wenn Sie den Pfad einschließlich Ihres Dateiverzeichnisses sehen (z. B. /Users/JeffStrongman/.composer/vendor/bin), können Sie loslegen.

cd

Führen Sie dann Ihre Installation aus. Ich bin auf dieses Problem gestoßen, als ich meinen Mac für die Verwendung von Laravel Valet konfiguriert habe.

Beispiel (optional)

valet install

3

Für Linux Mint 18: Bearbeiten Sie ~ / .bashrc und fügen Sie diese Zeile unten hinzu:

export PATH="$PATH:$HOME/.config/composer/vendor/bin"

dann Ressource .bashrc (Konsole eingeben):

source ~/.bashrc (or close and reopen the terminal)

Testen Sie es, indem Sie in die Konsole eingeben:

echo $PATH

oder geben Sie die Konsole ein:

laravel

3

Umgebungsvariable zur bashrcDatei hinzufügen

Für Ubuntu 17.04 und 17.10:

echo 'export PATH="~/.config/composer/vendor/bin"' >> ~/.bashrc

Für Ubuntu 18.04

echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bashrc

Um zu überprüfen, ob die Umgebungsvariable funktioniert oder nicht, laden Sie die bashrcDatei zuerst neu

source ~/.bashrc

Wenn keine Methode funktioniert, überprüfen Sie zunächst, wo Composer installiert ist, um zu überprüfen, ob dieser Befehl ausgeführt wird:

locate composer -l 1

dann Ausgabe kopieren Ausgabe in diese Zeile hinzufügen und Befehl erneut ausführen.

 echo 'export PATH="OUTPUTHERE/vendor/bin"' >> ~/.bashrc

Nach erfolgreicher Laravel-Befehlsarbeit erteilen Sie dem übergeordneten Ordner eine Berechtigung (z. B. verwenden Sie einen Apache-Server, als die Berechtigung für ein solches Apache-Weblistenverzeichnis zu erteilen).

sudo chown $USER:$USER -R /var/www/html/

2

Das Hinzufügen von export PATH = "$ PATH: ~ / .composer / vendor / bin" zu ~ / .bashrc funktioniert in Ihrem Fall, da Sie es nur benötigen, wenn Sie das Terminal ausführen.
Der Vollständigkeit halber funktioniert das Anhängen an PATH in / etc / environment ( sudo gedit / etc / environment und Hinzufügen von ~ / .composer / vendor / bin in PATH) auch dann, wenn es von anderen Programmen aufgerufen wird, da es sich um ein System handelt -weite Umgebungsvariable.
https://help.ubuntu.com/community/EnvironmentVariables


2

Mein Pfad hatte nicht /.composer, nur / composer, also war mein Pfad: -

export PATH="$PATH:$HOME/.config/composer/vendor/bin"

Dies funktionierte für mich am Ubuntu 20.04


1

MacOS Sierra Benutzer:

Stellen Sie sicher, dass Sie MAAP und MAAP Pro aus dem Anwendungsordner löschen, wenn Sie es auf Ihrem Computer installiert haben

cd ~ Seien Sie im Stammverzeichnis und überprüfen Sie Homebrew (wenn Sie Homebrew installiert haben) ODER haben Sie PHP auf dem neuesten Stand

brew install php70

export PATH="$PATH:$HOME/.composer/vendor/bin"

echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bash_profile

source ~/.bash_profile

cat .bash_profile

Stellen Sie sicher, dass Folgendes angezeigt wird: export PATH = "$ PATH: $ HOME / .composer / vendor / bin"

laravel

jetzt sollte es global sein


1

Für Ubuntu 16.04

echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> ~/.bashrc

source ~/.bashrc

Was ist die Verbesserung der vorhandenen Antworten?
MrTux

1

Das Composer bin-Verzeichnis wird in der bin-dirKonfigurationsvariablen festgelegt und gespeichert und kann je nach Einrichtung unterschiedlich sein. Wenn Sie den Befehl composer global config bin-dir --absoluteausführen, erfahren Sie den absoluten Pfad zu Ihrem globalen Composer-Bin-Verzeichnis. Mit diesem Befehl können Sie Ihren ändern .bash_profile, um ihn PATHgenau so hinzuzufügen , wie er konfiguriert ist.

# Add Composer bin-dir to PATH if it is installed.
command -v composer >/dev/null 2>&1 && {
        COMPOSER_BIN_DIR=$(composer global config bin-dir --absolute 2> /dev/null)
        PATH="$PATH:$COMPOSER_BIN_DIR";
}
export PATH

1

Ich habe das gemacht und es funktioniert auf osx:

Mittagessen dein Terminal

 nano ~/.bash_profile 

Und einfügen

 export PATH=~/.composer/vendor/bin:$PATH

Drücken Sie Strg + x

Drücken Sie die Taste y

Drücken Sie die Eingabetaste


1

AWS Ubuntu 18.04 LTS

Linux ws1 4.15.0-1023-aws # 23-Ubuntu SMP Mo Sep 24 16:31:06 UTC 2018 x86_64 x86_64 x86_64 GNU / Linux

echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> ~/.bashrc && source ~/.bashrc

Hat für mich gearbeitet.


Was ist die Verbesserung der vorhandenen Antworten?
MrTux

1

Auf Fedora:

Einige Composer-Bins befinden sich nicht im .composer-Verzeichnis. Sie müssen sie also mithilfe folgender Adresse suchen:

locate composer | grep vendor/bin

Dann geben Sie das Teil in die .bashrc zurück

echo 'export PATH="$PATH:$HOME/{you_composer_vendor_path}"' >> ~/.bashrc

Meins war "/.config/composer/vendor/bin" Prost!


0

Dies ist, was ich in meiner .bashrc-Datei hinzugefügt und gearbeitet habe.

export PATH="$PATH:/home/myUsername/.composer/vendor/bin"


0

Wenn jemand ZSH verwendet, sind alle Schritte bis auf einige Dinge gleich:

  1. Datei suchen .zshrc
  2. Fügen Sie die folgende Zeile unten hinzu export PATH=~/.composer/vendor/bin:$PATH
  3. source ~/.zshrc

Versuchen Sie dann valet, wenn Sie nach einem Passwort gefragt werden, ist alles in Ordnung.


-1

Um dieses Problem zu lösen, stellen Sie sicher, dass Sie zuerst den Pfad von composer.phar finden

Beispiel meins ist so etwas

alias composer="php /Users/Your-username/composer.phar"

Gehen Sie zu CD-Benutzer> Ihr Benutzer> Befehl ls und prüfen Sie, ob composer.phar vorhanden ist. Wenn ja, fügen Sie die obige Zeile zu Ihrem .bash_profile hinzu. Stellen Sie sicher, dass Sie den Benutzernamen in Ihren eigenen ändern.

Hoffe das hilft dir weiter

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.