在与当前目录不同的目录中运行作曲家
Posted
技术标签:
【中文标题】在与当前目录不同的目录中运行作曲家【英文标题】:Running composer in a different directory than current 【发布时间】:2016-01-09 20:52:35 【问题描述】:不知道有没有问过这个问题,因为搜索的结果主要是移动库安装目录。
我有一个全局安装的 composer 命令。有没有办法在与当前目录不同的目录中运行,例如,composer install
,即指定我想在其中运行命令的目录?
例如在/home/someuser
中,我想获得与在/home/someuser/myproject
中运行composer install
相同的结果。当然,一种方法是简单地更改当前目录,运行 composer 然后返回。
【问题讨论】:
【参考方案1】:试试composer install -h
。在那里你会找到一个选项--working-dir
(或-d
)。这就是你要找的东西。
然后运行:
composer install --working-dir=/home/someuser/myproject
您可以在composer docs找到更多信息。
根据您的操作系统,=
可能需要删除:
composer install --working-dir /home/someuser/myproject
【讨论】:
-d=/home/someuser/myproject
实际上给我抛出了一个错误。当前版本的作曲家似乎接受-d /home/user/myproject/
。
AFAIK 它取决于操作系统(Windows、Linux、OS X)。感谢您的评论,我已经更新了答案以使操作系统差异更加清晰。
使用 =
使我的构建失败了一百万次,感谢您添加此详细信息 :)
它无法在 linux 上运行。您需要在其中创建带有大括号的 composer.json 文件:。然后一切正常。【参考方案2】:
除了来自 Tomáš Votruba 的上述回答之外,我还必须在 OSX 上附加 = 字符。所以完整的命令是:
composer install -d=/home/someuser/myproject
我在 SO 上的第一篇文章因此无法简单地将其添加为评论。
【讨论】:
感谢 Eric,我已经更新了答案以确保它适用于所有人。我已经在 Linux 上进行了测试,并且也可以正常工作。【参考方案3】:这对我有用,Ubuntu 18.04 上的 php 7.3
安装
composer install --working-dir=/your_composer_dir
更新
作曲家更新 --working-dir=/your_composer_dir
【讨论】:
【参考方案4】:运行:
cd /home/mysites/google.com
然后运行:
composer require facebook/graph-sdk
以上步骤将打开名为 (google.com) 的目录并在那里安装 facebook Graph SDK。
【讨论】:
我认为不需要更改目录。另外,如果要求运行composer install
,为什么要引入一些要安装的包?以上是关于在与当前目录不同的目录中运行作曲家的主要内容,如果未能解决你的问题,请参考以下文章
在与当前用户不同的用户下运行 ASP .NET Web 应用程序