我正在開發一個Web應用程序與Symfony 2.我自己的包的代碼,形成我的應用程序的核心和一些配置文件的應用程序範圍內的設置被控制的Git(主要是目錄,src/MyCompany/MyBundle
,app/Resources/config
等),其餘正在作曲家的控制(框架,第三方束等)作曲家錯過安裝某些文件(應用程序/控制檯,AutoLoader.php,app_dev.php等)
到現在爲止,我曾經跑過./composer self-update && ./composer.phar update
,從我的倉庫的源頭推送或提取源代碼,一切都運行良好。
今天,我開始了一個新的工作目錄,並遇到一些奇怪的問題。
我進行
git clone <my git repo url> www
cd www
composer.phar install
的composer.json
是我的倉庫的一部分,因此它通常足以爲了安裝的框架和所有所需的包讓我的web應用程序的完全的工作副本EXCUTE作曲。
但今天,composer.phar install
提前停止抱怨關於丟失的文件。幸運的是,我仍然有我的舊工作目錄,所以我可以手動複製丟失的文件,然後重新啓動composer.phar
。我不得不重複這些步驟幾次,直到我完成了一個完整的工作應用程序。
中缺少的文件是
app/console
AutoLoader.php
app_dev.php
AppCache.php
我認爲這些文件是Symfony框架的一部分,並期望他們由Composer安裝。由於這個原因,他們不受我的版本控制系統的控制。我發現這個related question。答案是非常通用的,並不是特別有用。它所說的是,例如app/console
應該包含在版本控制中,因爲它不是由Composer安裝的(不再是),並且由於從Symfony 2轉換到3而導致目錄結構發生變化。但是我知道確定app/console
是由Composer過去安裝的。因此,一些變化。
這使我對以下問題
- 是否有任何完整,最新和官方文件
- 應該包括哪些內容存儲庫中的
- 應該是什麼在
.gitignore
- 作曲家管理什麼?
- 是否有任何文檔說明如何在Symfony 3的準備過程中從舊的目錄結構轉換爲新的目錄結構?
我以爲我讀了所有的發佈信息和Symfony網站的「生活在邊緣」的所有內容,但不知何故我錯過了這個。