【问题标题】:Newest symfony installer vs composer最新的 symfony 安装程序与作曲家
【发布时间】:2015-03-02 04:27:52
【问题描述】:

我想知道使用上次出现的新 symfony 安装程序和老式作曲家创建新的 symfony 项目时有什么区别。

我已经安装了最新版本的 symfony (2.6.1),结果是不同的,例如当我用 composer 安装 symfony 时,我得到了 .gitignore 文件。 当我使用新的 symfony 安装程序脚本安装时,缺少 gitignore。

这是新项目中的目录和文件数量:

symfony installer:                      1498 directories, 7136 files
symfony installer + composer update:    1571 directories, 7749 files
composer create-project:                1615 directories, 7905 files

我想我会坚持旧的方式 - 作曲家,因为新的安装程序似乎有问题或者至少还没有完成,但是我想了解更多关于这个主题的信息,有什么区别,使用安全吗新安装程序等?

【问题讨论】:

    标签: php symfony composer-php


    【解决方案1】:

    您是否也更新了安装程序:

    symfony self-update
    

    或在窗口中:

    php symfony.phar self-update
    

    here 所述?

    这也许是答案的一部分。 在不同之处,安装程序似乎更好地处理不同的 symfony 版本。

    【讨论】:

      【解决方案2】:

      Symfony2 Installer 将从网站下载它(在本例中为:http://symfony.com/download?v=Symfony_Standard_Vendors_2.6.1.zip)。

      要查看symfony installer 和经典composer create-project 之间的区别就足以看看composer.lockhttps://www.diffchecker.com/oig86oki

      左边是composer create-project之后生成的composer.lock,右边是symfony installer。很明显,从存档下载的 Symfony2 无法拥有最新的软件包。因此,请使用composer update 进行更新。

      同样,左侧为composer create-projectcomposer.lock,右侧为更新后的新composer.lockhttps://www.diffchecker.com/lj5j2eap

      正如我们所料。但是在供应商目录中没有相同数量的文件。有些文件夹不存在。 一些带有功能测试的文件夹没有使用symfony installer 下载。您需要强制 composer 更新所有包,或者重新安装它们。

      【讨论】:

        【解决方案3】:

        正如 Leggendario 已经解释的那样,安装程序从网站下载 dist 文件(.tar.gz.zip 文件)。这大大加快了安装过程。

        但是,在构建 dist 文件时,symfony.com 使用自定义构建脚本删除一些文件并更改一些内容。另一方面,composer 只是为您下载存储库。

        主要区别:

        • Composer 下载最新的依赖项(正如 Leggendario 指出的那样),而构建脚本包含构建时的最新文件。
        • Composer 使用开发版本,因此使用git clone 下载包。构建脚本仅使用稳定包,这将使 Composer 使用 dist 版本。一些包会从它们的 dist 文件中删除测试和 doc 文件。
        • Composer 包含所有项目相关信息,如.gitignore。构建脚本之前假定安装它的人没有 git,因此删除了此文件和其他与 git 相关的文件,例如 app/cacheapp/logs 中的 .gitkeep 文件。

        无论如何,安装程序和作曲家总是为您提供 Symfony 标准版的工作版本。

        最后,构建脚本是changed,现在安装程序成为了官方的安装方式。它现在将包含 git 相关文件。另一方面,它不包含LICENSE 文件、UPGRADE-*.md 文件和README.md 文件。所以最后,我们可以说安装程序安装的那个更有用,因为它删除了无用的文件。

        【讨论】:

        • 谢谢,很好的解释。我已经从 symfony 网站下载了安装程序,所以我想它在那里有点过时了,我只需要用最新的 github 版本更新它,这样它就会为我创建准备好与 git 一起使用的项目?另一方面,我想继续使用 apache,所以如果我决定使用安装程序,我需要自己担心找到基本的 .htaccess 文件?遗憾的是它无法通过安装程序参数进行配置。
        猜你喜欢
        • 1970-01-01
        • 2018-03-20
        • 2016-08-14
        • 2019-11-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-18
        • 2021-08-07
        相关资源
        最近更新 更多