Composer如何指定安装目录

Posted

技术标签:

【中文标题】Composer如何指定安装目录【英文标题】:Composer how to specify install directory 【发布时间】:2013-10-08 22:06:28 【问题描述】:

您好,我最近下载了 Laravel 作为 php 框架,我已经安装了 composer 并且可以正常工作,我可以根据 Laravel 网站创建我的项目

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

但是,当我使用上述行时,这会将我的项目安装在 c:\users\guti 目录中,但我希望它安装在 c:\xampp\htdocs 中。

我在 *** 上看到了另一个问题,它谈到了修改 composer.json 文件,但我不确定这是否是我应该采取的路线,因为我已经在计算机上搜索了这个文件和这个文件作为 laravel 框架的一部分存在,所以修改这个文件有意义吗?

有任何作曲家专家可以为我指明正确的方向吗?

【问题讨论】:

【参考方案1】:

您应该指定要在其中创建项目的目标目录,在命令提示符下键入cd C:\xampp\htdocs,然后按回车键。之后,在命令提示符下键入以下代码并按回车键

composer create-project laravel/laravel my-laravel-project

这里my-laravel-project 将是您的项目文件夹。 composer.json 文件用于在通过 packagist 安装包的过程中设置一些配置(用于依赖管理)。 访问getcomposer.org了解更多信息。

【讨论】:

嗨,谢谢,但是当我尝试上述操作时,我收到以下错误消息[InvalidArgumentException] Project directory /xampp/htdocs is not empty 我不明白我之前收到过这个错误消息,这是因为文件已经存在但是这是这里不是这种情况,因为我已经从这里删除了 laravel 文件夹@RecoveringSince2003 有什么想法吗?【参考方案2】:
composer create-project laravel/laravel .

安装在当前目录 =)

【讨论】:

使用 laravel 5.2 然后创建了一个名为 laravel 的新文件夹,所以我认为这不再有效了。 仅供参考@giantcowfilms 我刚试过这个,它就像一个魅力。 :) 谢谢 allmyshoesarewet @ThomasLe 很有趣。也许它在不同的操作系统上表现不同? 在 mac 上这不起作用。它在当前文件夹中创建一个名为“laravel”的新文件夹。 这不起作用,它会在我的目录中创建一个名为 laravel 的文件夹【参考方案3】:

无论何时

composer create-project laravel/laravel .

不管什么原因都不能正常工作,我只是

 laravel new temp 

然后将新应用程序的内容移动到我想要的文件夹中; )

【讨论】:

【参考方案4】:

TL;DR

    composer create-project --prefer-dist laravel/laravel directory-name 如果需要,将文件移动到首选文件夹(例如,移动到 ../)

为什么laravel new /.

    laravel new project-name 并不总是在不同的系统上运行良好,因此您需要多次编辑 PATH 变量以将 laravel 命令添加到 cli(至少在 OSX 上它不像在 Ubuntu 上那么容易)。 composer create-project --prefer-dist . 可能无法工作,因为目录不是空的(例如,在 JetBrains IDE 中,它创建的文件夹 .idea/ 不会显示在 IDE 的“项目”视图中,仅在“项目文件”上显示)。异常消息看起来像

[InvalidArgumentException] Project directory ./ is not empty.

因此,如果您知道自己在做什么,请按自己的意愿做,另一方面,尤其是如果您希望问题尽可能少,请执行此答案顶部的步骤。

附:我说的英语没有我想的那么好,所以,任何人,请随时纠正我。

【讨论】:

【参考方案5】:

我需要自己做这件事。在我想要安装的目录中,我做了:

laravel new --force .

到目前为止,它似乎运行良好。

【讨论】:

完美! -f 也可以作为力量的简写。没有它说Application already exists的力量(即使是空目录) 我在我的 Windows 10 机器上使用 PHP 7.4.3 进行了尝试。起初,我收到一个错误:Server error: 'GET http://cabinet.laravel.com/latest.zip' resulted in a '522 Origin Connection Time-ou' [...]。所以我更新了 laravel 安装程序:composer global require "laravel/installer"。不是我收到以下错误:Cannot use --force option when using current directory for installation! 不过,感谢您的建议,我不想投反对票。也许您想更新我们的答案?【参考方案6】:

这适用于我在 Ubuntu 20.04、Composer 版本 2.1.6 上:

cd your-directory  
composer create-project laravel/laravel ./

【讨论】:

以上是关于Composer如何指定安装目录的主要内容,如果未能解决你的问题,请参考以下文章

如何通过Composer安装Laravel

如何通过Composer安装Laravel

怎么使用php 包依赖管理工具 composer 执行命令安装

Composer 安装与使用

Composer 安装与使用

composer基本操作详解