2015-01-04 180 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下載。您需要強制作曲家更新所有軟件包,或者重新安裝它們。