最新的symfony安装程序与作曲家


Newest symfony installer vs composer

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

我已经安装了最新版本的symfony(2.6.1),结果是不同的,例如,当我用作曲家安装symfony时,我得到.gitignore file。当我使用新的symfony安装程序脚本安装时,gitignore 丢失了。

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

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

我想我会坚持旧的方式 - 作曲家,因为新安装程序似乎有错误或至少尚未完成,但是我想了解有关此主题的更多信息,有什么区别,使用新安装程序等是否安全?

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

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

主要区别:

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

无论如何,安装程序和作曲家总是给你一个Symfony标准版的工作版本。

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

>Symfony2安装程序将从网站下载它(在这种情况下:http://symfony.com/download?v=Symfony_Standard_Vendors_2.6.1.zip)。

要看到symfony installer和经典composer create-project之间的差异就足以看一下这两个composer.lock: https://www.diffchecker.com/oig86oki

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

同样,左侧是composer create-project composer.lock,右侧是更新后的新composer.lock:https://www.diffchecker.com/lj5j2eap

正如我们所料。但是在供应商目录中,文件数量不同。某些文件夹不存在。某些包含功能测试的文件夹不会使用 symfony installer 下载。您需要强制作曲家更新所有软件包,或重新安装它们。

您是否也使用 :

symfony self-update

或在窗口中:

php symfony.phar self-update

如这里所述?

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