使用composer安装laravel时出现问题


Problems installing laravel with composer

问题:我想探索laravel 5,但安装失败。我使用此指南:http://laravel.com/docs/5.0需要有人帮我理解说明书。

背景和我尝试过的内容

我正在运行Mac OSX 10.10.2(Yosemite)和MAMP。

到目前为止,我已经使用终端将Composer下载到我的主文件夹中。那里只有一个compose.par文件。

当我运行时:

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

我认为这是可以的,因为当我在终端中运行以下程序时,我会得到composer徽标和选项列表

~ 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

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

问题:如果有人能帮助解决我的总体用户错误,请解释"确保将~/.comporter/vendor/bin目录放在您的PATH中,以便您的系统可以定位laravel可执行文件。"对n00b来说意味着什么,那将不胜感激。

非常感谢!

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

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

当你运行

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

您正在使用composer将laravel/installer=~1.1包安装到composer的"全局"项目文件夹(通常为~/.composer)中。这就是安装名为laravel的命令行程序的原因。

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

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

$ echo $PATH

因此,问题是composer将laravel命令行程序安装到了一个不在unix路径中的文件夹中。您需要将此文件夹添加到您的unix路径中。您可以通过运行以下程序(假设您使用的是bash,这是OSX的默认shell)来实现这一点

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

如果运行该程序,您应该能够运行laravel命令行程序并继续安装。

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

您可以通过编辑/etc/paths将目录添加到PATH变量中
这里有一个关于如何做到这一点的教程。

只需添加一行:

~/.composer/vendor/bin

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


如果一切都失败了,您仍然可以使用composer create-project命令来创建一个新的laravel实例:

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

我在Path变量中添加了C:''Users''Leon''AppData''Roaming''Composer''vendor''bin,而不是~/.Composer/vendor/bin。

以下是有关在Windows 10上更改路径变量的说明:http://windowsitpro.com/systems-management/how-can-i-add-new-folder-my-system-path