使用作曲家安装 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 5.2 - 使用 composer 和 git bash 安装 laravel 时出错