2015-01-04 182 views
11

我想创造新的symfony的安装程序,出现最后一次老程作曲家新symfony项目时,知道什么区别。最新的symfony安装VS作曲家

我已经安装了symfony(2.6.1)的最新版本,结果是不同的,例如,当我与作曲家安装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 

我想我会坚持到老样子 - 作曲家,因为新的安装程序似乎被窃听或至少目前还没有完成,但我想了解更多关于这个主题的信息,有什么不同,使用新的安装程序等安全吗?

symfony self-update 

或窗口:

php symfony.phar self-update 

如前所述here

回答

10

由于Leggendario已经说明,安装程序下载从网站上DIST文件(.tar.gz.zip文件)。这加快了安装过程。

然而,构建DIST文件时,symfony.com使用自定义生成脚本,删除一些文件,并改变一些事情。另一方面,作曲家只需为您下载存储库。

的主要区别:

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

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

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

+0

谢谢,很好的解释。我已经从symfony网站下载了安装程序,所以我想它有点过时了,我只需要使用最新的github版本进行更新,以便它能够为我创建项目,准备好使用git?另一方面,我想留在Apache中,所以如果我决定使用安装程序,我将需要担心自己寻找基本的.htaccess文件吗? 通过安装程序参数无法配置它。 – Fisher 2015-01-05 15:21:12

1

你有更新的安装程序呢?

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

3

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下载。您需要强制作曲家更新所有软件包,或者重新安装它们。