Laravel:命令未找到[重复]

Posted

技术标签:

【中文标题】Laravel:命令未找到[重复]【英文标题】:Laravel: command Not found [duplicate] 【发布时间】:2016-05-14 16:55:04 【问题描述】:

我觉得不得不问这个问题是个白痴,而且我已经解决了所有类似的问题,但无济于事。我在 mac 上的 vagrant vm 中运行 Ubuntu 14.04。我安装了 composer 并且运行了这些命令:

composer global require "laravel/installer"

(这似乎有效,并表明 laravel 是已下载的内容之一)

我也在 .bashrc 中添加了这一行

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

注意,我将它添加到 vagrant 用户和 root 用户的 .bashrc 文件中。我已经注销并重新进入 shell 并使用以下命令验证了路径:

echo $PATH

这给了我这个:

∼/.composer/vendor/bin:∼/.composer/vendor/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin :/usr/games:/usr/local/games

而失败的命令本身就是这个

laravel new test

我看不出我可能缺少什么,有什么想法吗?

【问题讨论】:

您是否在虚拟机中运行了这些命令?还是你的机器?我有类似的设置,并在我的机器上运行它们 我没有尝试过,但它似乎有点奇怪。不一定是错的,但似乎你的 laravel 安装程序和 composer 安装在你的主机上而不是在 vm 上。也许这确实有意义,因为您可以拥有一个版本的 composer/laravel 和多个 VM。我的问题是你的主机操作系统是什么?不确定作曲家是否会在 Mac OSX 中运行 是的,我使用 OS X El Capitan。 Composer 在 OS X 中运行良好(至少在 Lion、Mountain Lion、Mavericks 和 El Capitan 中) 要解决你需要找到撰写配置文件位置的问题。然后修复导出路径***.com/a/41476969/2652524 【参考方案1】:

如果您将波浪号 (~) 放在引号内,它将不会被翻译到您的主目录。运行它,它应该可以工作:

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

【讨论】:

这也有效 是的!这对我有用!谢谢!【参考方案2】:

最好使用$HOME 而不是只使用~

在我的.zshrc(我使用zsh)我让它这样工作

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

确保您的终端确实使用了.bashrc 而不是.bash_profile,如果是这种情况,您应该编辑该文件。 如果您从 VM 中使用它,您在调用 vagrant ssh 时登录的用户是 vagrant,而不是 root

另外,记得在编辑后源文件,或者打开一个新的终端。

更新

我看到有些答案将$PATH 放在作曲家的路径之后,所以我想我可以告诉你我学到了什么是不同的。

这不是一件随意的事情,你可以随心所欲地放置。 后面的内容会覆盖前面的内容。如果您想使用覆盖已安装在 PATH 路径中的任何内容的软件包,您将需要知道这一点。

这意味着如果您在系统上安装了某些东西并且您使用 composer 安装了更新版本的软件包,它将具有相同的启动命令,因此如果 composer 路径不会在 之后系统路径,您必须引用作曲家vendor/bin 中二进制文件的完整路径才能执行它。

【讨论】:

这对我有用。实际上,这里的两个答案都是正确的,但我给你点是因为我还了解到 .bashrc 并不总是运行。我用谷歌搜索,发现它必须在你的 .profile 中列出,否则没有 bueno。 这对 Valet 不起作用吗?我已经安装了 laravel 安装程序并且路径正确..仍然出现错误。 谢谢@phaberest!我发现我的 bash 文件实际上是 ~/.bash_profile 在使用fish 时将“~”更改为“$HOME”为我解决了这个问题。谢谢!即set -U fish_user_paths "$HOME/.composer/vendor/bin" $fish_user_paths 这对我有用,但我的 laravel bin 在一个奇怪的位置。所以我建议如果人们正在努力完成这项工作,他们会寻找 lavavel bin。找到 ~/ -type f -name "laravel" 然后在编辑后检查你的路径你编辑你的 .bashrc echo $PATH 确保你已经添加了 laravel 文件夹的路径【参考方案3】:

对于使用 Homestead 的任何人,我发现这个对我有用

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

【讨论】:

实际上它是 export PATH="$PATH:$HOME/.config/composer/vendor/bin" 反正谢谢你的线索 :) 为什么每次新建项目都要使用这个命令?有没有办法使这个命令永久化? @ColinStadig 你看过我的回答了吗?把它放在你终端的配置文件中。【参考方案4】:

粘贴这个

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

然后重启终端。

【讨论】:

【参考方案5】:

只是添加到接受的答案...

如果您直接在终端上执行命令(在这种情况下,路径将一直可用,直到终端窗口或选项卡关闭)

如果把前面的路径弄乱了,需要打开和关闭终端窗口(或标签页)

例子:

首先执行(以某种方式弄乱路径)

PATH="test"

然后执行

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

您仍然会收到错误消息 现在关闭终端窗口或选项卡并重新打开并执行

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

错误应该消失了!

【讨论】:

【参考方案6】:

检查/root/.composer 目录是否存在,如果不存在则像这样安装composer:

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

然后再次安装 laravel,之后你的命令就可以工作了。

【讨论】:

【参考方案7】:

打开你的终端并运行这些给定的行:

对于 zsh 和 bash:

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

source ~/.zshrc
source ~/.bashrc

仅适用于 bash:

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

source ~/.bashrc

【讨论】:

请勿复制您的帖子,也不要仅将其设为链接。为每个问题定制每个响应,或者标记为重复关闭。 对不起,@Frankerz。现在我修改评论。谢谢。

以上是关于Laravel:命令未找到[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.3 - InvalidArgumentException 视图 [索引] 未找到 [重复]

未找到 Laravel Symfony ArrayLoader [重复]

命令“make:auth”未定义laravel 6 [重复]

未找到 Laravel 5.8 自定义命令

未找到 Laravel“代客安装”

Laravel 5.2 未显示表单验证错误 [重复]