Laravel PHP 命令未找到。

233
我使用Composer无问题地安装了Laravel,但是当我在终端中尝试运行laravel时,会出现以下错误:

-bash:laravel:命令未找到

文档说我需要执行以下操作:

确保将~/.composer/vendor/bin目录放置在您的PATH中,这样当您在终端中运行laravel命令时可以找到laravel可执行文件。

我该如何做到这一点?


你的PATH变量的值是多少? - Raptor
我该如何获得它?使用echo $PATH吗? - chemitaxis
1
在终端/ bash等中键入“echo $PATH”。 - Raptor
/Users/chema/google-cloud-sdk/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Applications/Eclipse/sdk/platform-tools:/Applications/Eclipse/sdk/tools - chemitaxis
20个回答

371

好的,我做到了,它起作用:

nano ~/.bash_profile 

并粘贴

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

执行命令 source ~/.bash_profile,享受其中的乐趣 ;)

重要提示: 如果您想知道bash_profile和bashrc之间的区别,请查看此链接

注意: 对于运行laravel 5.1的Ubuntu 16.04,路径为: ~/.config/composer/vendor/bin

在其他平台上: 要检查您的Composer全局目录在哪里,请运行composer global about。将 "/vendor/bin" 添加到 "Changed current directory to ..." 后列出的目录中,以获取应添加到您的PATH 的路径。


5
重启终端在我的情况下不起作用。我还需要执行命令 source ~/.bash_profile。 - Naing Lin Aung
17
这不是正确答案 >> .bashrc文件(而不是.bash_profile文件)。 - Asis
谢谢,这对我有用。我没有任何.bashrc文件,我也不想创建一个依赖于.bask_profile的文件。 - user3717115
@NaingLinAung 很好的提示,没有那个提示就行不通.. 但是为什么我在工作完成后关闭终端,它会重新开始工作? - mercury
4
来到这里的任何人,请确保您全局安装了Laravel安装程序:composer global require "laravel/installer" - Connor Leech
显示剩余4条评论

260
将以下内容添加到.bashrc文件中(而不是.bash_profile)。
export PATH="~/.composer/vendor/bin:$PATH" 

在文件末尾添加,然后在终端中运行 source ~/.bashrc

验证:

echo $PATH

(重新启动终端,检查并确认路径)

运行laravel命令!

注意:对于Ubuntu 16及以上版本,请使用以下内容:

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

你可以在以下链接中找到有关这些隐藏文件之间差异的更多信息:http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html - chemitaxis
1
晚回复,希望能对某些人有所帮助。请查看此链接:https://apple.stackexchange.com/questions/42537/why-must-i-source-bashrc-every-time-i-open-terminal-for-aliases-to-work。如果您使用.bahrc,则需要每次重新加载。因此,请将其添加到.bash_profile中。 - Sibiraj
1
我必须将~/.config添加到路径中...这取决于二进制文件所在的位置。 - f_i
4
可能是Linux发行版中的 '/root/.config/composer/vendor/bin'。 - cagcak
3
export PATH="~/.config/composer/vendor/bin:$PATH" - 在Ubuntu 18.04上的救星! :) - Subrata Sarkar
显示剩余3条评论

108

使用 MacBook 时,请参考下面的片段;

对于 fish:

echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >>  ~/.fishrc
source ~/.fishrc

对于zsh:

echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >>  ~/.zshrc
source ~/.zshrc

对于Bash:

echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

这将覆盖您当前的zsh配置。请使用>>而不是>。 - Arnold Balliu
运行以上命令后无法登录我的系统。请帮帮我。 - sowmya
1
对于我的Ubuntu服务器,它是export PATH =〜/ .config / composer / vendor / bin:$ PATH - Chewie The Chorkie
即使这样做后我仍然得到相同的错误,你有什么想法该怎么办吗? 我已经按照此处所示安装了Laravel:https://snipboard.io/BpvM8s.jpg 并添加了路径,如此处所示:https://snipboard.io/7zy6qJ.jpg - Yanis

88

在终端中的link中的解决方案。

# download installer
composer global require "laravel/installer=~1.1"
#setting up path
export PATH="~/.composer/vendor/bin:$PATH" 
# check laravel command
laravel 

# download installer
composer global require "laravel/installer=~1.1"

nano ~/.bashrc

#add

alias laravel='~/.composer/vendor/bin/laravel'

source ~/.bashrc

laravel

# going to html dir to create project there
cd /var/www/html/
# install project in blog dir.
laravel new blog

谢谢,我在我的虚拟机上缺少别名,将文件夹添加到PATH并没有帮助解决问题。 - parrker9
1
你也可以使用 composer global require "laravel/installer" - TuGordoBello
在Homestead中,我需要将Laravel别名文件夹设置为此文件夹,而不是/home/vagrant/.config/composer/vendor/bin/laravel - lucgenti
2
Ubuntu 16.04。我还在 /.bashrc 中添加了别名: `alias laravel='/.config/composer/vendor/bin/laravel'` - Matiss
这对我有效。将路径导出到~/.profile并不能解决问题。必须执行~/.bashrc中的步骤。 - J. Doe
在Ubuntu 20.04中,只需添加alias laravel='~/.composer/vendor/bin/laravel'即可。 - YTZ

45

在终端上输入:

 composer global require "laravel/installer"

当作曲家完成后,请输入:

vi ~/.bashrc

粘贴并保存:

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

在终端上输入:

source ~/.bashrc

打开另一个终端窗口并输入:laravel


1
这个对我不起作用。但是这个可以: export PATH="$PATH:$HOME/.composer/vendor/bin" - Emre Doğan
1
看起来有些Composer版本使用.config,而其他一些则使用.composer。这个答案对我有用,无需添加别名或任何东西。谢谢! - Gerardo Rosciano
3
太好了!终于成功了!为了方便,将以下命令添加到 .bashrc 文件中:echo 'export PATH="~/.config/composer/vendor/bin:$PATH"' >> ~/.bashrc ,然后运行 source ~/.bashrc 加载它。 - General Omosco
对于Windows用户:如果您将composer安装为默认选项,则第一步就足够了。 - josanangel
这对于在Arch Linux上使用Laravel 10有效。非常感谢。 - GameO7er

41

如果你正在使用Ubuntu 16.04。

  1. 你需要找到composer配置文件,例如在我的情况下:
    ~/.config/composer 或其他情况下是 ~/.composer/
    你可以通过以下命令看到目录:
    composer global require "laravel/installer"

  2. Laravel安装完成后,你可以在这里找到你的Laravel:~/.config/composer/vendor/laravel/installer/.
    你会在这里找到 Laravel快捷命令:
    ~/.config/composer/vendor/bin/

  3. 使用 nano ~/.bashrc 设置你的.bashrc文件并导出你的composer配置文件:

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

    或者使用别名,但建议使用上面的解决方案。

    alias laravel='~/.config/composer/vendor/laravel/installer/laravel'

  4. 现在使用 source ~/.bashrc 刷新你的bashrc,然后Laravel就准备好了!

以上步骤在我使用的Ubuntu 16.04中有效。


1
为什么每次我想要使用laravel new等命令时都需要输入源代码~ / bashrc? - Paul 501
@Paul501 source ~/.bashrc 用于刷新文件中的新设置。因此,如果您不使用 source,则无法在当前用户会话中运行新设置。 - Gujarat Santana
更多信息可以在此处阅读:https://dev59.com/tnE85IYBdhLWcg3w_Itr - Gujarat Santana
2
alias laravel='~/.config/composer/vendor/laravel/installer/laravel' 对我很有帮助! - davejal
1
这个解决方案在Ubuntu 20.04上仍然有效。 - El Sordo
在Ubuntu 22.04上对我有用 - undefined

22

对于zsh和bash:

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

source ~/.zshrc
source ~/.bashrc

仅适用于Bash:

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

source ~/.bashrc

18

对于开发者使用zsh,请将以下内容添加到.zshrc文件中

vi ~/.zshrcnano ~/.zshrc

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

在文件末尾。

zsh 不认识 ~ ,所以可以使用 $HOME 代替。

source ~/.zshrc

完成!尝试输入命令 laravel 查看效果。


提到zsh不知道~。救了我的一天! - Arafat

11

如果您使用的是macOS或*nix系统,请在终端中运行以下命令:

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

7
如果您使用Linux并且使用Zsh,可以按照以下步骤操作: 1 - 将以下行添加到您的.zshrc文件中:
export PATH="$HOME/.config/composer/vendor/bin:$PATH"

2 - 运行

source ~/.zshrc
  • Linux下composer文件夹的路径与Mac不同
  • 在Zsh中,使用$HOME而不是~作为路径
  • .zshrc文件在Home文件夹中是隐藏的
  • export PATH=会将路径用引号括起来导出,以便系统能够定位Laravel可执行文件
  • 使用:$PATH可以避免覆盖系统路径中已有的内容

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接