我在 Ubuntu 20.04 上收到“laravel:找不到命令”

Posted

技术标签:

【中文标题】我在 Ubuntu 20.04 上收到“laravel:找不到命令”【英文标题】:I get "laravel: command not found" on Ubuntu 20.04 【发布时间】:2020-08-07 06:48:36 【问题描述】:

我全新安装了 Ubuntu 20.04 LTS (Focal Fossa),安装了 Apache、phpmysql 和 PHP Composer 似乎没有问题。但是,我仍然无法让laravel -V 给我一个版本号。

我查看了大量 YouTube 视频,并尝试对 *** 上的建议进行解释。我该如何解决?

Here's the output on my shell $PATH.

【问题讨论】:

你是如何安装 laravel 安装程序的?您是否按照docs 的步骤进行操作? 【参考方案1】:

如果您想全局调用二进制文件,则必须将 PHP Composer 二进制文件夹添加到您的 $PATH。


A) 确保您拥有最新的 Laravel 安装程序:

composer global require laravel/installer

B) 将 composer bin 文件夹添加到您的 $PATH:

    编辑您的 .bashrc 文件:gedit $HOME/.bashrc

    添加以下行:export PATH="$PATH:$HOME/.config/composer/vendor/bin"

C) 使用 source 命令强制 Ubuntu 重新加载您的 .bashrc 文件:

source $HOME/.bashrc

D) 尝试输出 Laravel 安装程序的版本:

laravel -V


根据要求提供其他解释:

要从 Linux 终端执行命令,需要告诉 Linux 程序所在的位置。

例如,您可以使用完整路径启动 Laravel 安装程序:$HOME/.config/composer/vendor/bin/laravel -V

但是,您希望能够直接调用laravel -V 命令,因为您不想每次都输入完整路径。

由于您使用的是 Ubuntu,因此默认的 shell 程序是 Bash。当你键入命令时,你需要告诉 Bash 在哪里查看。在这种情况下,您希望 Bash 查看 $HOME/.config/composer/vendor/bin/ 文件夹。

Bash 的配置文件是一个名为.bashrc 的隐藏文件,位于用户主文件夹中。 Bash 将特殊文件夹的列表存储在一个名为$PATH 的变量中。要添加新文件夹,我们只需将其添加到 $PATH 变量即可。

如果你在终端输入echo $PATH,Bash 会输出 $PATH 变量的内容,你会看到一个文件夹列表。

现在您可能会问:“为什么我必须这样做?我通常不必弄乱我的 Bash 配置”。是的,这是因为您通常会安装 Ubuntu 软件包,并且它们被配置为开箱即用。在这种情况下,您在主目录中安装了一个 composer 包,因此您可以按照自己的方式对其进行配置。

【讨论】:

这可能问得有点多,但你能澄清一下具体是做什么的吗? 当然,我会在我的答案中添加更多细节。 在 ubuntu 20.04 source ~/.bashrc 可能不会返回错误而不是 source .bashrc 工作得很好。

以上是关于我在 Ubuntu 20.04 上收到“laravel:找不到命令”的主要内容,如果未能解决你的问题,请参考以下文章

在 ubuntu 20.04LTS 上安装 pygame 的问题

如何解决 Ubuntu 20.04 上 pyodbc 的安装错误?

如何在 Ubuntu 20.04 GCP 实例上安装 virtualenv?

无法在 linux ubuntu 20.04 中安装 libgraph

在 ubuntu 20.04 LTS 上部署 django 2.2 应用程序

在 Ubuntu 20.04 上安装 MySQL 5.6