2014-01-26 8 views
1

我剛剛瞭解到作曲家,並且即將在一個更大的項目中首次使用它。我有一個問題:我的項目實際上大約有24,5MB,其中24個來自我的供應商目錄。如何忽略作曲家中所有不必要的東西以進行最終構建?

就我所見,在包含在供應商中的大多數庫中,作曲家還提供文檔文件,測試等。是否有一種自動化的方式來排除所有這些?我只想將許可證和真正需要的源文件打包到最終版本中。

非常感謝! :-)

+0

不,除非作者將它包裝在你正在拉的分支中。然後再次您可以隨時在更新後手動刪除它,但不建議這樣做。 – har2vey

回答

1

儘管一年多前我問過這個問題,但它對我來說仍然是最新的。只是想發佈我最終與之一起的解決方案。

我發現了一個非常酷的項目'altax' - >http://kohkimakimoto.github.io/altax/。它允許我整合我需要的所有步驟以完全控制部署過程。

我的最終部署命令將首先更新所有供應商,然後運行phpunit只是爲了確保。如果一切順利,它會完全複製當前項目,並留下所有無用的東西(如.git,doc文件夾,測試等)。這使我的項目從25縮減到〜2.4 MB。

爲了完成這些工作,它將構建和捆綁文檔並創建兩個版本 - 一個壓縮並準備放置在更新頻道和一個要銷售的版本中。

最好的部分是我用一些簡單的工具自己編寫了部署,並且可以完全控制它的功能。

5

Composer提供的最明顯的選擇是運行安裝步驟--no-dev選項,省去任何require-dev的東西,即PHPUnit的副本和其他專用於開發的東西。

唯一的其他選擇是使用--prefer-dist下載帶有軟件版本的ZIP文件,而不是從源存儲庫中克隆它。

除此之外,Composer不會自行影響下載和包含的軟件的打包 - 它只是下載ZIP文件(可能是原始存儲庫的縮減副本),或克隆它(這是最大的變體)。

如果您已經安裝了沒有任何建議的命令行選項的軟件包,最好徹底刪除vendors目錄並運行另一個composer update --prefer-dist以刪除任何克隆的存儲庫並將其替換爲下載的版本。

請注意,要求開發版本像dev-master或允許通過minimum-stability:dev使用dev-stable包不是真的推薦。它通常會導致克隆存儲庫。

相關問題