Composer 不是像 Yum 或 Apt 同樣的包管理器,雖然它會處理『包』或庫,但它管理這些包、庫是基於項目的,它會安裝這些包、庫到你項目的一個目錄下(通常是在 vendor 文件夾裏),默認狀況下不會全局地安裝。它作爲一個包管理器,也支持一個叫作 " global " 的全局命令,咱們能夠使用此命令來安裝全局的包。git
若要在項目中使用 Composer 你須要一個 composer.json 文件。該文件描述了你的項目依賴關係和其餘元數據。json
當Composer完成安裝後,它將把全部下載的包和確切的版本信息寫入到 composer.lock 文件,以此來鎖定項目中第三方包的版本。你應該將 composer.lock放在項目倉庫中,以便該項目全部成員都能鎖定在依賴關係相同的版本服務器
composer.lock 文件將阻止你自動獲取最新依賴版本。若是要更新依賴到最新版本,使用 update 命令。這將獲取最新匹配的版本(根據你的 composer.json 文件)並將新版本更新到 composer.lock 文件。(這至關於刪除 composer.lock 文件並再次運行 install)。composer
應該將 vendor 目錄加入版本控制嗎?一般狀況下請不要這樣作, vendor 文件夾(或者其它你依賴包所安裝的位置)應該被加入 .gitignore工具
最好的方式是讓全部開發人員使用 Composer 命令來安裝依賴,一樣的,構建服務器,部署工具等,須要將運行 Composer 歸入工程引導的一部分。版本控制