Laravel:命令未找到

时间:2016-02-04 21:21:28

标签: laravel composer-php

我觉得自己不得不问这个问题,而且我已经完成了所有类似的问题而无济于事。我正在mac上运行Ubuntu 14.04 in vagrant vm。我安装了composer,我运行了这些命令:

composer global require "laravel/installer"

(这似乎有效,并表明laravel是下载的东西之一)

我还将此行添加到.bashrc

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

注意,我将此添加到vagrant用户以及root用户.bashrc文件中。我已经注销并返回shell并使用此命令验证路径:

echo $PATH

这给了我这个:

〜/ .composer /供应商/ bin中:〜/ .composer /供应商/ bin中:在/ usr / local / sbin中:在/ usr / local / bin中:/ usr / sbin目录:在/ usr / bin中:/ sbin目录:/ bin中:在/ usr /游戏:在/ usr /本地/游戏

并且失败的命令本身就是这个

laravel new test

我不知道自己可能缺少什么,有什么想法吗?

7 个答案:

答案 0 :(得分:38)

最好使用$HOME而不是~

在我的.zshrc(我使用zsh)中,我按照这种方式工作

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

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

此外,请记住在编辑后获取文件,或打开新终端。

更新

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

你可以随意放置任何你想要的东西。 在覆盖之前的内容之后放置的内容。如果您想使用覆盖已在PATH中的路径中安装的任何内容的软件包,您将需要知道它。

这意味着如果您在系统上安装了某些内容并使用composer安装了较新版本的软件包,那么如果编写器路径不是之后,它将具有相同的命令来启动在系统路径中,您必须引用作曲家vendor/bin内部二进制文件的完整路径来执行它。

答案 1 :(得分:4)

打开终端并运行以下给定的行:

对于zsh和bash:

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

source ~/.zshrc
source ~/.bashrc

仅限bash:

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

source ~/.bashrc

答案 2 :(得分:3)

如果将波浪号(〜)放在引号内,它将无法转换为您的主目录。运行它,它应该工作:

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

答案 3 :(得分:3)

对于使用Homestead的任何人,我发现这个为我工作

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

答案 4 :(得分:1)

粘贴此

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

并重新启动termminal。

答案 5 :(得分:1)

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

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

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

示例:

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

=SUMPRODUCT(revenue ^ ROW(INDIRECT("1:" & last - first)))

然后执行

PATH="test"

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

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

错误应该消失了!

答案 6 :(得分:1)

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

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

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