使用作曲家安装 laravel 时出现问题 [重复]

Posted

技术标签:

【中文标题】使用作曲家安装 laravel 时出现问题 [重复]【英文标题】:Problems installing laravel with composer [duplicate] 【发布时间】:2015-04-04 14:35:33 【问题描述】:

问题:我想探索 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

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

问题: 如果有人可以通过解释“确保将 ~/.composer/vendor/bin 目录放在您的 PATH 中,以便您的系统可以找到 laravel 可执行文件”来帮助解决我的总用户错误。对 n00b 的意思,那将不胜感激。

非常感谢!

【问题讨论】:

【参考方案1】:

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,这是 OS X 的默认 shell)

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

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

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

【讨论】:

真的很喜欢详细的答案,我将它与@lukasgeiter 答案中的教程结合使用并让它工作。谢谢你们的解释,让我开始运行! @alan-storm 是否建议将php composer vendor文件夹留在安装的主目录中? @MarkA 我想说是的,但我不确定你到底在问什么。 “主目录”和供应商文件夹在没有上下文的情况下有点模糊。听起来您可能想问一个新问题而不是评论一个旧问题 @AlanStorm 例如,npm 将所有包进一步放在全局目录中。将作曲家移动到全局目录而不是主目录会更好吗? @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

【讨论】:

后者就像一个魅力,真的很感激。【参考方案3】:

我在 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

【讨论】:

以上是关于使用作曲家安装 laravel 时出现问题 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

与作曲家一起安装的 Laravel 没有任何提示?

Laravel 5.2 - 使用 composer 和 git bash 安装 laravel 时出错

我在安装zend-form时出现作曲家错误[关闭]

使用 laravel Sanctum 和 api 令牌身份验证获取用户时出现 401(未经授权)[重复]

Composer 未安装在 Windows 机器上

工匠清除编译返回错误代码255