zsh: 找不到命令 laravel

57

我对使用bash进行Linux管理方面是新手... 我正在按照这里的教程安装laravel 5.2... 成功安装了...

首先,我安装了composer并运行了以下命令

composer global require "laravel/installer"

然后将它放在我的路径中,在~/.zshrc中添加如下内容

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

当我从终端运行laravel命令时,出现了以下错误

  ~ laravel 
zsh: command not found: laravel

如果我执行 echo $PATH 命令,它会显示已将路径添加起来。

注意:我已经在我的终端上安装了 oh my zsh ...

请问我需要做什么才能使其工作,请帮忙。


1
只需执行 composer create-project laravel/laravel 项目名称 --prefer-dist - devnull
~/.composer/vendor/bin 目录下是否有一个名为 laravel 的东西? - miken32
@miken32 是的,有一个名为laravel的文件在~/.composer/vendor/bin中。我在尝试运行命令时进行了检查。 - Amjad
1
然后尝试直接运行它:~/.composer/vendor/bin/laravel,看看是否可以正常工作。如果不能,请确保它是可执行的。 - miken32
2
M1 Mac - 将以下代码添加到我的 .zshrc 文件中解决了我的问题。请记得执行 source ~/.zshrc 命令或退出并重新打开终端,使设置生效。export PATH="$HOME/.composer/vendor/bin:$PATH" - 0xe1λ7r
13个回答

258

我认为ZSH不会在PATH上展开~。 在你的.zshrc文件中试试这个:

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

5
只在终端关闭前有效。有什么想法? - Peter G Mac.
@PeterGMac。你的意思是什么?我们正在谈论的是.zshrc文件,它在每次启动新的zsh会话时执行(即每次打开终端时)。它只在你关闭终端之前有效,也就是说它从你打开终端到关闭终端期间有效。 - Chris
每次我打开终端都要添加这个,为什么呢? - mercury
14
在我的情况下,我必须使用不同的路径: export PATH="$HOME/.config/composer/vendor/bin:$PATH" - М.Б.
9
您可以将该代码添加到“~/.zshrc”文件中,重新启动终端,它就会起作用(我在Mac上使用的是Iterm2和Zsh)。 - Van Tho
显示剩余2条评论

52

尝试做这个:

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

1
这对我有用。我正在使用ZSH和oh-my-zsh的Manjaro系统。 - Timm Jensen
这是Ubuntu 22.04 LTS的正确答案。 - Alexxus
这应该是正确的答案! - undefined
感谢上帝!经过几个小时的搜索,终于找到了适合我的答案。 - undefined

29

针对Chris的回答,

命令export PATH="$HOME/.composer/vendor/bin:$PATH"可以运行,但仅限于当前终端会话

如果希望路径在每次zsh启动时都可用,请将PATH="$HOME/.composer/vendor/bin:$PATH"添加到您的~/.zshrc文件底部。运行zsh命令或重新启动终端,laravel将在您启动的每个会话中都可用。


3
您需要运行命令:source ~/.zshrc,这样才能在当前会话中使用该命令(无需重新启动终端)。 - chubbyk

11
在Ubuntu 20.04 / 22.04上,使用zsh (Oh My ZSH!)和macOS时,使用composer添加Laravel cli : composer global require laravel/installer 编辑:~/.zshrc 将以下内容添加到文件中:
export PATH="$HOME/.config/composer/vendor/bin:$PATH"

运行:

source ~/.zshrc

但是macOS有一个名为~/.zprofile的文件用于此目的。 - undefined

10
我在macOS Sierra上遇到了同样的问题。 请编辑您的.zshrc文件。
PATH=~/.composer/vendor/bin:$PATH

那对我起作用了。


5

我的解决方案是:

echo "PATH=\"$HOME/.config/composer/vendor/bin:$PATH\"" >> ~/.zshrc
source ~/.zshrc
  • 然后输入 laravel

更多信息在这里


3

确保你的系统已经安装了PHPComposer:

打开一个新的终端窗口,进入你的项目目录并运行下面的命令:

echo -n 'export PATH="$HOME/.composer/vendor/bin:$PATH"' << ~/.zshrc && source ~/.zshrc

如果出现要求权限的错误,请运行以下命令:

sudo !!

这将在先前的命令后添加sudo,以便以超级用户身份运行。
如果您的机器使用:laravel@version{5,6,7}.x,则需要运行:shell PHP >= 7.2.5
composer create-project --prefer-dist laravel/laravel demoblog

或者,这些说明 也可能对您有帮助。


1
当你在终端中运行命令laravel时,实际上是调用composer/vendor/bin目录下的laravel文件。
如果以上方法都不行,可以通过运行以下命令来查找vendor目录的位置: composer global about 你会看到类似于“当前目录更改为/home/username/.config/composer”的内容,这意味着你的vendor目录位于该路径中。然后,在.zshrc文件中添加别名: alias laravel="$HOME/.config/composer/vendor/bin/laravel" 现在,使用与正常情况下相同的命令,您就可以指向您文件系统中的'laravel'文件了。
或者,您也可以将composer添加到您的路径中: export PATH="$HOME/.config/composer/vendor/bin:$PATH",这是推荐的方法。

0

对于Linux:
请确保将Composer的路径完全添加到您的系统路径中。
export PATH="$HOME/.config/composer/vendor/bin:$PATH"

或者更好的方法是按照以下方式编辑.zshrc文件

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

0
将以下内容添加到 .zshrc 文件中: export PATH="$HOME/.composer/vendor/bin:$PATH" 确保运行以下命令: source ~/.zshrc

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