2015-02-04 86 views
8

问题:我想探索laravel 5,并且在安装时遇到了麻烦。我正在使用本指南:http://laravel.com/docs/5.0,需要有人帮助我理解说明。与作曲家一起安装laravel的问题

背景和我已经试过

我运行的Mac OSX 10.10.2(优胜美地)和甲基苯丙胺。

到目前为止,我已经使用终端下载了Composer到我的个人文件夹。这里只有一个composer.phar文件。

当我运行:

composer global require "laravel/installer=~1.1" 

我得到的消息:

Changed current directory to /Users/MYUSERNAME/.composer 
./composer.json has been updated 
Loading composer repositories with package information 
Updating dependencies (including require-dev) 
Nothing to install or update 
Generating autoload files 

我认为是可以的,因为当我运行在终端下,我得到的作曲家标志和名单选项

~ MYUSERNAME$ composer 

我不是100%肯定什么下列手段,从Laravel文档:

"Make sure to place the ~/.composer/vendor/bin directory in your PATH so the 
laravel executable can be located by your system." 

因为我不能搞清楚,下面的步骤抛出错误,如:

-bash: laravel: command not found 

我已经经历了几个论坛,它的建议我需要更新我的PHP.ini文件 - 这似乎更多地与Composer安装有关,而不是专门Laravel。因为作曲家工作,这似乎是一个死路一条。

理想情况下,我想Laravel 5安装的目录

HomeFolder/sites/test 

因为Composer.phar是我的主文件夹,我认为该命令应该是:

php composer laravel new sites/test 

或只是

composer laravel new sites/test 

如前所述,它只是(正确)抛出错误。

问题: 如果有人可以帮助解释什么是“一定要放在〜/ .composer /供应商/ bin目录在PATH,这样laravel可执行文件可以通过系统位于解决我的总用户错误, “。意味着一个n00b,这将非常感激。

非常感谢!

回答

17

Laravel是一个PHP框架(使得编写PHP应用程序很容易)

Composer是一个PHP包和依赖关系管理器。 (使得安装和更新的第三方代码库容易)

当您运行

$ composer global require "laravel/installer=~1.1" 

您使用作曲家的laravel/installer=~1.1软件包安装到作曲家的“全球性”的项目文件夹(通常为~/.composer)。这是安装名为laravel的命令行程序。

名为laravel的命令行程序是用于安装PHP框架(也称为Laravel)的shell脚本。

您的“Unix路径”是命令行脚本将搜索可执行文件的文件夹列表。通常有/usr/bin,/usr/local/bin等文件夹。这就是为什么当你运行ls时,你实际上正在运行/usr/bin/ls - shell知道检查路径中每个文件夹的位置。您可以通过键入

$ echo $PATH 

所以查看当前的路径,问题是作曲家安装laravel命令行程序,这不是你的UNIX路径的文件夹。您需要将此文件夹添加到您的unix路径。您可以通过运行如下(假设你使用bash,这是OS X的缺省shell)

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

如果您运行的是,你应该能够运行laravel命令行程序,并继续安装这样做。

大多数人将其添加到他们的.bash_profile.bashrc文件。如果你有兴趣学习如何做到这一点,Unix Stack Exchange有很多很好的信息。

+0

真的很喜欢这个详细的答案,我将这个与@lukasgeiter答案的教程结合起来使用。谢谢你的解释,并让我开始运行! – matt

+0

@ alan-storm建议您将php composer供应商文件夹保存在安装它的主目录中? –

+0

@MarkA我想说是,但我不确定你在问什么。 “主目录”和供应商文件夹在没有上下文的情况下有点模糊。听起来像你可能想问一个新问题,而不是评论一个旧问题 –

2

您可以通过编辑/etc/paths将目录添加到PATH变量。
Here's a tutorial on how to do that

只需添加一条线:

~/.composer/vendor/bin 

然后laravel new命令应该正常工作


如果一切失败,您仍然可以使用composer create-project命令作出新的laravel实例:

composer create-project laravel/laravel sites/test --prefer-dist 
+0

后者工作就像一个魅力,真的很感激。 – matt