2016-01-22 54 views
1

我有一個問題,我不知道如何解決它。我正在研究一個由git控制版本的項目。實際的框架通過作曲家(Yii2)安裝。現在我切換了機器並想重新安裝所有內容並將其更新爲git存儲庫的當前狀態。但無論採用哪種方式,首先使用composer安裝框架或首先克隆git存儲庫,隨後的步驟總是抱怨目錄不是空的。克隆時出現的明顯問題是,供應商目錄會按照預期被忽略,即框架所在的位置。 Git也會抱怨,如果我先通過作曲者安裝框架,然後拉倉庫(錯誤:以下未跟蹤的工作樹文件將被合併:...覆蓋)。讓Composer和Git一起工作

任何想法如何解決這個問題?

在此先感謝

+0

我解決了一個解決方法:我克隆我的git倉庫在一個文件夾中,並通過作曲家安裝在另一個文件夾中的框架。然後,我將框架文件夾中的所有文件複製到git存儲庫文件夾中(當然也跳過了所有文件替換)。現在一切正常,但我認爲這應該更容易一些,也許有更好的解決方案? –

回答

0

你應該使用Git第一克隆你的項目,然後再安裝使用作曲家庫,然後用這些庫添加到目錄的.gitignore。在我的項目中使用這種方式並且工作正常。即使你在git repo中有composer.json,你也只需要在git clone之後運行composer update並完成。

+0

是的,我看到我可能做錯了..我應該使用「作曲家更新」,而不是「作曲家創建項目...」 - 也看到我在SilverFire上面的評論..感謝回答和澄清! –

0

也許,我沒有得到正確的問題,但你手工克隆yiisoft/yii2庫?通常你不關心vendor目錄和它的內容,因爲它必須在git中被忽略。你必須有composer.json,需要"yiisoft/yii2": "*",就這些了。

要理解這一點,創建一個空目錄,執行composer init,加Yii2要求線路和呼叫composer update - 它會創建vendor目錄和滋潤它都會,那是需要Yii2。

看看https://github.com/yiisoft/yii2-app-basic

+0

對不起,如果我不夠清楚。我通過作曲家安裝yii2,並且我希望我的其他文件可以從我的git存儲庫中克隆/提取。所以我要麼 a)在所述目錄中的第一個「git clone」(它創建我的項目目錄),然後是「composer create-project ...」或b)「composer create project ....」,它創建我的項目目錄然後在上述目錄 中「git clone ...」出現錯誤。但我看到我可能做錯了。我通過git首次獲得了composer.json。因此,我應該寧願使用「作曲家更新」而不是作曲家「創建項目...」? –