【问题标题】:bin/console missing after running composer install运行 composer install 后 bin/console 丢失
【发布时间】:2014-10-21 05:33:31
【问题描述】:

希望有人能帮我解决这个问题。

我的项目(在 github https://github.com/irvingswiftj/iceMarkt 上)在运行 composer install 时,似乎运行顺利,直到运行更新后命令。我最终遇到以下错误(添加参数 -vvv 时):

    Updating the "app/config/parameters.yml" file
    Could not open input file: bin/console
    Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the post-update-cmd event terminated with an exception

    [RuntimeException]                                                         
    An error occurred when executing the "'cache:clear --no-warmup'" command.  

如果我现在浏览我的项目目录,我可以看到 bin/console 从未创建!

【问题讨论】:

  • 你使用的是 Symfony3 结构吗?在这个新结构中,app/console 已移至 bin/console。所以看看你是否有app/console...和AFAIK,有一个选项可以告诉作曲家你正在使用哪种结构
  • 是的,我使用的是 symfony3 结构。我没有检查应用程序/控制台,但它也不存在。
  • 我怀疑您从未将 bin 目录检查到 github?您最好的选择可能是使用 s3 结构创建一个新项目,然后比较文件系统。您可能缺少的不仅仅是 bin 目录。我在 github 中也没有看到 web 目录。
  • 那么,当您使用 Sf3 结构时,您的作曲家的额外配置中是否有 symfony-var-dir 指令?
  • Cerad,你说得对,我忘了提交 bin 目录,我只是假设执行 composer install 甚至会创建控制台文件

标签: php symfony composer-php


【解决方案1】:

假设可执行控制台文件将在我的下一次作曲家安装中创建,我已经删除了 bin 目录。我错了!不要 gitignore 你的 bin/composer 文件,还要确保如果你使用 symfony 3 文件夹结构,你没有 .gitignore 用于 symfony 2 文件夹结构。

【讨论】:

  • 看起来恢复 bin/console 文件的唯一方法是从新目录中复制它。如果你找到一种方法来欺骗 Symfony3 重新创建它,请告诉我......我觉得这很愚蠢。
【解决方案2】:

Symfony 2 => 应用程序/控制台

Symfony 3 => 箱/控制台

【讨论】:

  • 这不回答问题。
【解决方案3】:

我遇到了同样的问题,因为我习惯于将 bin 目录添加到我的 .gitignore 文件中,因为在 Symfony2 中,所有 bin 文件(包括来自其他供应商的文件)都放在该文件夹中,但在 Symfony3 中并非如此,因此我们可以将 bin 目录添加到我们的代码存储库中。

您可以解决安装新应用程序(使用 symfony 安装程序)并将 bin 目录从这个新项目复制到您自己的项目的问题。

【讨论】:

    【解决方案4】:

    使用 Symfony 4 / Symfony Flex,需要安装 symfony/console 包:

    composer require symfony/console
    

    然后从您的项目目录中使用:

    ./bin/console
    

    由于文件本身以 shebang #!/usr/bin/env php 开头,您可以立即执行它,而无需 php infront。

    【讨论】:

    • 补充这个答案,如果在需要symfony/console 包之后脚本仍然不存在,那一定是因为脚本是在composer install 上自动生成的。所以你需要删除你的vendor 文件夹并运行composer install。之后应该出现bin/console 脚本
    猜你喜欢
    • 1970-01-01
    • 2022-01-08
    • 2020-03-26
    • 1970-01-01
    • 2018-03-28
    • 2019-01-01
    • 2019-06-26
    • 2017-08-04
    • 2016-06-11
    相关资源
    最近更新 更多