2014-01-15 31 views
0

在我的web應用程序中,我已經使用Composer成功安裝了幾個PHP Github存儲庫。我在本地主機上安裝的最新版本(使用php composer.phar update blahblah/blahblah)與所有其他版本一樣工作良好。然而,當我git push編輯我的應用程序到我的現場,blahblah/blahblah目錄是空的。PHP Composer在遠程站點上安裝了空存儲庫

我相信這是一個Git問題,我的本地主機有blahblah主回購這是不是與我的遠程共享,但我完全困惑,爲什麼這個特定的存儲庫不像所有其他的安裝那些。據我所知,我沒有做任何與Composer或Git push/pull不同的東西,我總是這樣做。

想法?

+0

你正在檢查你的'vendor /'目錄到Git嗎?通常我建議跟蹤你的'composer.json'和'composer.lock'文件,*忽略*'vendor /',並且在你想要依賴的地方運行Composer。其他開發機器,登臺服務器,生產,... – Chris

+0

是啊我的供應商/'目錄正在簽入。所以你說的是我需要1)從我的本地刪除它,2)添加'供應商/'到我的.gitignore 3)檢查回來4)在我的遠程安裝Composer 5)運行本地和遠程的作曲家更新 –

+0

您不需要*按照我的方式做事:-)。但是,管理依賴關係(安裝,升級,保持版本同步等)是Composer所設計的系統。我將添加一個參考Composer文檔的答案。 – Chris

回答

2

我不確定你的情況有什麼問題,但是對於它的價值,作曲家文檔推薦committing the composer.json and composer.lock filesexcluding the vendor/ directory from version control

然後,在需要依賴關係的其他機器上(例如其他開發機器,分段和生產服務器等),您可以使用use composer install or composer update,讓系統保持您的所有依賴項都已同步。

這是使用依賴管理器的主要優點之一:您可以在數據文件中定義項目的依賴關係,並且每個人都可以使用該數據文件來自動安裝所有安裝的相同版本,而不包括外部庫在您的存儲庫中。

+0

謝謝@Chris。遵循你/作曲家的建議(即我評論中描述的那個人)工作。 –