我觉得自己不得不问这个问题,而且我已经完成了所有类似的问题而无济于事。我正在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
我不知道自己可能缺少什么,有什么想法吗?
答案 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,之后你的命令就可以了。