在与当前目录不同的目录中运行Composer


75

我不知道是否提出了这个问题,因为搜索发现的结果主要与移动库安装目录有关。

我有一个全局安装的composer命令。有没有一种方法可以运行,例如,composer install在与当前目录不同的目录中运行,即指定我要在其中运行命令的目录?

例如/home/someuser,我想获得与在composer install内部运行相同的结果/home/someuser/myproject。当然,一种方法是简单地更改当前目录,运行composer然后返回。

Answers:


148

当然可以composer install -h。您会在其中找到一个选项--working-dir(或-d)。这就是您要寻找的。

然后运行:

composer install -d=/home/someuser/myproject

您可以在composer docs中找到更多信息。


根据您的操作系统,=可能需要将其删除:

composer install -d /home/someuser/myproject

4
-d=/home/someuser/myproject其实对我来说是一个错误。当前版本的作曲家似乎接受了-d /home/user/myproject/
Jan Richter '18

2
AFAIK取决于操作系统(Windows,Linux,OS X)。感谢您的评论,我已经更新了答案,使操作系统之间的差异更加清晰。
托马什Votruba

1
使用=使我的构建失败了100万次,谢谢您添加此细节:)
Levi Johansen

15

除了以上来自TomášVotruba的答案外,我还必须在OSX上附加= charachter。因此完整的命令将是:

composer install -d=/home/someuser/myproject

我关于SO的第一篇文章因此无法简单地将其添加为评论。


感谢Eric,我更新了答案以确保它适用于所有人。我已经在Linux上进行了测试,并且工作正常。
托马什Votruba

2

这对我有效,Ubuntu 18.04上的PHP 7.3

安装

作曲家安装--working-dir = / your_composer_dir

更新资料

作曲家更新--working-dir = / your_composer_dir


-3

跑:

cd /home/mysites/google.com

然后运行:

composer require facebook/graph-sdk

以上步骤将打开名为(google.com)的目录,并在其中安装facebook Graph SDK。


2
我不认为需要更改目录。另外,如果要求运行composer install,为什么还要引入一些要安装的软件包?
Nico Haase
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.