![如何让 laravel 每次打开新终端时自动运行?](https://linux22.com/image/1178233/%E5%A6%82%E4%BD%95%E8%AE%A9%20laravel%20%E6%AF%8F%E6%AC%A1%E6%89%93%E5%BC%80%E6%96%B0%E7%BB%88%E7%AB%AF%E6%97%B6%E8%87%AA%E5%8A%A8%E8%BF%90%E8%A1%8C%EF%BC%9F.png)
我从 Windows 转到 Ubuntu,并尝试通过以下链接安装 laravelhttps://laravel.com/docs/5.0我最终选择了安装程序 1.4....我不记得是哪一个了,所以我决定使用
composer global require "laravel/installer"
我最终选择了 4.1.1 安装程序,但如果我关闭终端并再次打开它并运行 laravel,它找不到该命令。我在寻找解决方案时找到了以下命令,PATH="~/.config/composer/vendor/bin:$PATH"
每次我都必须运行它才能使 laravel 命令正常工作。有永久的解决方案吗?我是 Linux 新手,遇到了很多问题,找不到解决方案。我打算更新 laravel,但我甚至无法让它正常运行。有更好的方法吗?如果我不运行上述命令,这会影响我当前的项目吗?
答案1
当您从命令行使用时PATH="~/.config/composer/vendor/bin:$PATH"
,您在终端会话中临时添加该 PATH。一旦关闭终端,您就会结束会话,您添加的 PATH 会随会话一起被删除,并且终端会忘记 Laravel 所在的位置。
使用 .profile 文件永久添加您的 PATH
tl;dr
将这一行添加到你的 shell 的配置文件中:
export PATH="$HOME/.config/composer/vendor/bin:$PATH"
每次打开终端时,它都会处理一些文件以收集有关环境的信息。为了让您的终端永久了解 Laravel 的位置,您需要将 composer 目录添加到其中一个已处理的文件中。
- 弄清楚你正在使用哪种 shell:
echo $0
在终端中输入 - 从此命令的输出中,确定您正在使用哪个 shell,以及它使用哪个 .profile 文件:
- usr/sh:该文件是
.profile
- bash:该文件是
.bash_profile
- /usr/bin/zsh:该文件是
.zprofile
- 如果你使用的是不同的 shell,你可能需要弄清楚。但这并不难,因为大多数文件都遵循相同的命名方式,并且存在于你的 HOME 目录中
- usr/sh:该文件是
- 打开 shell 的 .profile 文件。它应该位于您的 HOME 目录中。
- 找到你的 HOME 目录:
echo $HOME
在终端中输入
- 找到你的 HOME 目录:
- 将以下内容添加到该文件的一行中,然后保存它。
export PATH="$HOME/.config/composer/vendor/bin:$PATH"
- 每次打开新终端时都会处理此问题,这样它就知道在哪里可以找到 Laravel
- 您还可以使用 Composer 来找出 Composer 全局配置目录的路径,方法是在您的配置文件中使用它
export PATH="$(composer config -g home)/vendor/bin:$PATH"
- 重启终端,Laravel 的 PATH 将永久设置
最快的方法就是在终端中输入此命令
- 在您的终端中输入
echo "export PATH=$(composer config -g home)/vendor/bin:$PATH" >> ~/.profile
,确保将 .profile 替换为您的 shell 的配置文件。- 双“>>”将 echo 命令的输出(即命令中引用部分的文本)附加到配置文件
- 如果您使用单个“>”,它将仅使用回显的 PATH 覆盖整个文件,因此请小心。如果您使用单个“>”,路径仍将被设置,它只会覆盖该文件中存在的所有内容。
- $(composer config -g home) 上面有解释
- 重启终端,Laravel 的 PATH 将永久设置