无法使用自定义路径永久导出 PATH 变量

无法使用自定义路径永久导出 PATH 变量

我已经安装了composer安装laravel程序,它现在位于 下~/.config/composer/vendor/bin。我想laravel从任何地方直接用作命令,所以我尝试将目录添加到变量中$PATH。我可能可以为安装程序创建一个符号链接,/usr/local/bin但我仍然不知道为什么我不能永久设置它。我尝试了多种方法

  • export PATH=$PATH:~/.config/composer/vendor/bin
  • 将其添加到~/.profile上面,并且不带export语句和引号中的值
  • 将其添加到~/.bashrc上面,并且不带export语句和引号中的值
  • 添加到/etc/environment喜欢PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:~/.config/composer/vendor/bin"

完成所有这些操作后(对于 2 和 3 我甚至做了source),它对当前会话起作用了,但是只要我关闭Terminal并重新打开它,输出将始终是:

tzfrs@ubuntu:~$ laravel
laravel: command not found

我的主目录中没有任何bash_login文件。bash_profile

答案1

  • export PATH=$PATH:~/.config/composer/vendor/bin仅适用于当前会话。

  • ~/.profile~/.bashrc不能~/在引号内起作用,请省略引号或使用$HOME代替~/,例如

    export PATH=$PATH:$HOME/.config/composer/vendor/bin
    
  • /etc/environment不允许任何 shell 语法,因此~/nor$HOME都不起作用。相反,您需要使用完整路径,例如

    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

您需要在/etc/environmentPATH 语句中拥有完整的目录。

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

完成更改后,需要重新启动主机以使更改/etc/environment生效。

希望这可以帮助!

相关内容