composer使用教學專欄給大家提供了關於composer各種問題的解決辦法,例如:
我應該將vendor 目錄加入版本控制嗎?
通常請不要這樣做, vendor 資料夾(或其它你依賴套件所安裝的位置)應該被加入.gitignore/svn:ignore/......
最好的方法是讓所有開發人員使用Composer 命令來安裝依賴,同樣的,建置伺服器,部署工具等,需要將執行Composer 納入工程引導的一部分。
儘管在某些情況下將其提交到版本庫挺讓吸引人的,但其容易帶來下面幾個問題:
● 當你更新程式碼時,版本控制倉庫代碼變大,diff 變得臃腫。
● 項目所有的依賴將在你版本控制中產生一份副本。
● 某些場景下 Composer 透過 git 安裝的 git 倉庫將被視為子模組。這是有問題的且會帶來麻煩,因為它們並非真正的子模組。
如果你真的感覺你必須這麼做,你有這幾個選項:
1、依賴套件的版本限制為打過tag 的發布(非dev)版本,這樣的話你只會透過zipped 安裝,從而避免因為git submodule 產生問題。
2、使用--prefer-dist 或設定preferred-install 為dist 到你專案的config.
3、每個依賴安裝後移除.git 目錄,然後再把它們添加到你的倉庫。你可以使用 rm -rf vendor/**/.git (在 ZSH 中) 或 find vendor/ -type d -name ".git" -exec rm -rf {} \; (在 Bash 中)。但這意味者下次執行 composer update 時你需要刪除這些依賴。 /
4、新增一個 .gitignore 規則(/vendor/**/.git)來忽略 vendor 下的 .git 目錄。此方法的好處是你無需為了 composer update 而刪除這些依賴。
以上是應該將 vendor 目錄加入版本控制嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!