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 [重复]