【问题标题】: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 然后返回。

【问题讨论】:

    标签: php composer-php


    【解决方案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,为什么要引入一些要安装的包?
      猜你喜欢
      • 2018-04-22
      • 2018-05-11
      • 2018-06-18
      • 2014-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多