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如何指定安装目录的主要内容,如果未能解决你的问题,请参考以下文章