【问题标题】:Install package on non-empty folder using composer使用 composer 在非空文件夹中安装包
【发布时间】:2014-12-08 23:40:43
【问题描述】:

我尝试通过 composer 安装包,但它一直告诉我这个目录不是空的,那么我如何使用 composer 在非空文件夹中安装包?有强制安装命令吗?

错误信息:

  [InvalidArgumentException]
  Project directory Yii-GZero-2b/ is not empty.

【问题讨论】:

    标签: php composer-php yii2


    【解决方案1】:

    你目前不能。 GitHub 上有/曾经有过讨论,您可以在此处阅读:https://github.com/composer/composer/issues/1135

    但现在,您需要创建一个新目录,然后将文件迁移过来,反之亦然。

    【讨论】:

    • 我同意 cwallenpoole。我认为这是一个错误。我正在使用 Vagrant 运行 VirtualBox。我的 vagrantfile 包含 VM 的配置,需要在项目目录中才能运行 VM。这意味着 CakePHP 不会安装在项目目录中,因为那里的 VM 配置不是空的。这需要一个解决方案。
    【解决方案2】:

    Folder 必须为空,这是必需的,因为当您运行 create-project 时,composer 旨在从头开始创建一个完全干净的全新项目。

    【讨论】:

    • 我真的不明白所有这些反对意见。作者所说的与所选答案所说的大致相同。
    【解决方案3】:

    对我来说,授予文件夹写入权限非常有效。在 Windows 上,我右键单击提到的文件夹并取消选中只读复选框并保存它并且它工作。也许您也可以尝试一下,希望它也对您有用。

    【讨论】:

      【解决方案4】:

      而不是运行命令

      composer.phar create-project flarum/flarum . --stability=beta
      

      使用具体的文件夹名称,例如

      composer.phar create-project flarum/flarum /var/www/html/forum/ --stability=beta
      

      【讨论】:

        【解决方案5】:

        对于 Docker,我在启动容器后删除所有 docker 相关文件,运行 composer 然后将文件放回文件夹。

        【讨论】:

          【解决方案6】:

          您可以检查所有 .文件夹中的文件。

          $ ls -la
          

          删除任何 .文件夹中的文件,然后重试。它对我有用。

          【讨论】:

          • 谢谢!我做了 ls -ls 没有显示隐藏的 .gitignore 文件。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-08-27
          • 2020-09-27
          • 1970-01-01
          • 2021-06-05
          • 2012-10-11
          相关资源
          最近更新 更多