PATH-Variable mit benutzerdefiniertem Pfad kann nicht dauerhaft exportiert werden


3

Ich habe composer und das Installationsprogramm laravel installiert, das sich jetzt unter ~/.config/composer/vendor/bin befindet.Ich möchte laravel direkt von überall als Befehl verwenden, daher habe ich versucht, das Verzeichnis der Variablen $PATH hinzuzufügen.Ich könnte wahrscheinlich einen Symlink für das Installationsprogramm zu /usr/local/bin erstellen, aber ich weiß immer noch nicht, warum ich ihn nicht dauerhaft einstellen kann.Ich habe mehrere Möglichkeiten ausprobiert

  • export PATH=$PATH:~/.config/composer/vendor/bin
  • Hinzufügen zu ~/.profile wie oben und ohne die Anweisung export und den Wert in Anführungszeichen
  • Hinzufügen zu ~/.bashrc wie oben und ohne die Anweisung export und den Wert in Anführungszeichen
  • Hinzufügen zu laravel1 wie laravel2

Nachdem ich das alles gemacht hatte (für 2 & 3 habe ich sogar laravel3 gemacht), funktionierte es für die aktuelle Sitzung, aber sobald ich laravel4 schloss und wieder öffnete, war die Ausgabe immer:

[email protected]:~$ laravel
laravel: command not found

Ich habe keine laravel5- oder laravel6-Datei in meinem Home-Verzeichnis.

5
  • export PATH=$PATH:~/.config/composer/vendor/bin works for the current session only.

  • In ~/.profile and ~/.bashrc the ~/ doesn't get works within quotes, Either omit the quotes or use $HOME instead of ~/, e.g.

    export PATH=$PATH:$HOME/.config/composer/vendor/bin
    
  • /etc/environment doesn't allow any shell syntax so neither ~/ nor $HOME works. Instead you need to use the full path, e.g.

    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/youruser/.config/composer/vendor/bin"
    

2

You need to have the full directory in the /etc/environment for the PATH statement.

/home/username/.config/composer/vendor/bin

After the changes made, you need to reboot the host so that the changes in /etc/environment can take effect.

Hope this helps!