Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 运行composer安装后缺少bin/控制台_Php_Symfony_Composer Php - Fatal编程技术网

Php 运行composer安装后缺少bin/控制台

Php 运行composer安装后缺少bin/控制台,php,symfony,composer-php,Php,Symfony,Composer Php,希望有人能帮我解决这个问题 我的项目(在github上)在运行composer安装时似乎运行顺利,直到运行更新后命令。其中,我最终出现以下错误(添加param-vvv时): 如果我现在浏览我的项目目录,我可以看到bin/console从未创建过 我删除了bin目录,假设可执行控制台文件将在下一次composer安装中创建。我错了!不要忽略您的bin/composer文件,还要确保如果您使用的是symfony 3文件夹结构,那么symfony 2文件夹结构没有.gitignore。symfony

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

我的项目(在github上)在运行composer安装时似乎运行顺利,直到运行更新后命令。其中,我最终出现以下错误(添加param-vvv时):


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

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

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


Symfony 3=>bin/console

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


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

使用symfony 4/symfony Flex,您需要安装
symfony/console
软件包:

composer require symfony/console
然后从项目目录中使用:

./bin/console

因为文件本身是以shebang
开头的/usr/bin/env php
您可以在不使用
php
infront的情况下立即执行它。

您使用的是Symfony3结构吗?在这个新结构中,
app/console
被移动到
bin/console
。所以看看你是否有一个
应用程序/控制台
。。。另外,还有一个选项可以告诉composer你使用的是哪种结构是的,我使用的是symfony3结构。我没有检查应用程序/控制台,但它也不存在。我怀疑你从未在github的bin目录中检查过?您最好的选择可能是使用s3结构创建一个新项目,然后比较文件系统。您可能缺少的不仅仅是bin目录。我在github中也没有看到web目录。然后,当您使用Sf3结构时,您的composer中的额外配置中是否有symfony var dir指令?Cerad,您是对的,我忘记提交bin dir,我刚才假设安装composer甚至可以创建控制台文件。看起来,获取bin/console文件的唯一方法是从新目录复制它。请让我知道,如果你找到一种方法来欺骗Symfony3重新创建它。。。我觉得这很愚蠢。这并没有回答问题。为了补充这个答案,如果在需要
symfony/console
包之后脚本仍然不存在,那一定是因为脚本是在
composer安装时自动生成的。因此,您需要删除您的
供应商
文件夹并运行
composer安装
。之后应出现
bin/console
脚本
./bin/console