使用 composer 安装 laravel 时出现问题

Problems installing laravel with composer

问题: 我想探索 laravel 5,但安装失败了。我正在使用本指南:http://laravel.com/docs/5.0 并且需要有人帮助我理解说明。

背景和我的尝试

我是 运行宁 Mac OSX 10.10.2 (Yosemite) 和 MAMP。

到目前为止,我已经使用终端将 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

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

问题: 如果有人可以通过解释 "Make sure to place the ~/.composer/vendor/bin directory in your PATH so the laravel executable can be located by your system." 对 n00b 意味着什么来帮助解决我的总用户错误,那将不胜感激。

非常感谢!

您可以通过编辑 /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

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

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

当你运行

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

您正在使用 composer 将 laravel/installer=~1.1 包安装到 composer 的 "global" 项目文件夹(通常是 ~/.composer)。这就是安装名为 laravel.

的命令行程序的原因

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

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

查看当前路径
$ echo $PATH

所以,问题是 composer 将 laravel 命令行程序安装到一个不在您的 unix 路径中的文件夹中。您需要将此文件夹添加到您的 unix 路径。您可以通过 运行 执行以下操作(假设您使用的是 bash,这是 OS X 的默认值 shell)

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

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

大多数人将此添加到他们的 .bash_profile.bashrc 文件中。如果您有兴趣了解如何执行此操作,Unix Stack Exchange 中有很多有用的信息。

我将 C:\Users\Leon\AppData\Roaming\Composer\vendor\bin 而不是 ~/.composer/vendor/bin 添加到 Path 变量。

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