首页 文章

Composer未能安装某些文件(app / console,AutoLoader.php,app_dev.php等)

提问于
浏览
0

我正在使用Symfony 2开发一个Web应用程序 . 我自己的bundle的代码构成了我的应用程序的核心,一些用于应用程序范围设置的配置文件由Git控制(主要是目录, src/MyCompany/MyBundleapp/Resources/config 等)其余的是在Composer(框架,第三方捆绑等)的控制之下

到目前为止,我偶尔运行 ./composer self-update && ./composer.phar update ,从我的存储库的源头推送或获取源代码,一切都运行良好 .

今天,我开始了一个新的工作目录,并遇到了一些奇怪的问题 .

我表演了

git clone <my git repo url> www
cd www
composer.phar install

composer.json 是我的存储库的一部分,因此它通常足以执行Composer以安装框架和所有必需的包以获得我的Web应用程序的完整工作副本 .

但今天, composer.phar install 过早地抱怨丢失文件 . 幸运的是,我仍然有我原来的工作目录,所以我可以手动复制丢失的文件,然后重新启动 composer.phar . 我必须多次重复这些步骤,直到我完成一个完全正常工作的应用程序 .

缺少的文件是

  • app/console

  • AutoLoader.php

  • app_dev.php

  • AppCache.php

我认为这些文件是Symfony框架的一部分,并期望它们由Composer安装 . 由于这个原因,他们不受我的修订控制系统的控制 .

我发现了这个related question . 答案非常通用,并不是特别有用 . 它只是说 app/console 应该包含在版本控制中,因为它不是由Composer安装的(不再是),并且由于从Symfony 2到3的转换,目录结构发生了变化 . 但我知道确保在过去,Composer安装了 app/console . 因此,一些变化 .

这引出了以下问题

  • 是否有完整的,最新的官方文档

  • 应该包含在存储库中的内容

  • .gitignore 应该是什么

  • Composer管理什么?

  • 是否有任何文档如何在Symfony 3的预制中从旧目录结构转换到新目录结构?

我以为我读了Symfony网站"Living on the Edge"中的所有 README.md ,所有发布信息和所有内容,但不知怎的,我错过了这个 .

2 回答

  • 0

    使用composer从头开始安装Symfony2的简洁方法是使用following command

    composer create-project symfony/framework-standard-edition my_project_name
    

    这将确保创建所有基本结构 . 之后,您仍然可以从上一个项目中插入自定义项 .

    然后,您可以将所有内容(除了 app/config/parameters.yml 以及 vendor/app/cacheapp/logs 的内容)添加到您的存储库 .

    关于转换到SF3,我想只要SF3足够稳定以创建这样的文档,就会有升级路径 .

  • 0

    1.1 . 这取决于您希望人们如何获取您的捆绑包

    1.2 . 我与你分享了我自己的.gitignore:小心我使用git供我自己使用,以获得我的文件的安全性,而不是让人们得到我的包:

    # Cache and logs (Symfony2)
    /app/cache/*
    /app/logs/*
    !app/cache/.gitkeep
    !app/logs/.gitkeep
    # Cache and logs (Symfony3)
    /var/cache/*
    /var/logs/*
    !var/cache/.gitkeep
    !var/logs/.gitkeep
    # Parameters
    /app/config/parameters.yml
    /app/config/parameters.ini
    # Managed by Composer
    /app/bootstrap.php.cache
    /var/bootstrap.php.cache
    /bin/*
    !bin/console
    !bin/symfony_requirements
    /vendor/
    # Assets and user uploads
    /web/bundles/
    /web/uploads/
    # PHPUnit
    /app/phpunit.xml
    /phpunit.xml
    # Build data
    /build/
    # Composer PHAR
    

    1.3 . composer.json中的所有内容

相关问题