我剛剛注意到,當我將 Symfony 專案推送到 Gitlab 時,一些檔案夾(例如“vendor”)沒有被推送(因為它們被 .gitignore 忽略了)。
為什么是這樣?如果我想將專案從 Gitlab 克隆到我的另一臺計算機上,這不是有問題嗎?我會在那里丟失供應商檔案夾?
uj5u.com熱心網友回復:
通常,您不想在 git 中包含 vendor 檔案夾,因為可以在部署時通過保存 composer.lock 檔案來重建它。
您的部署應該用于composer install構建供應商目錄,并且它將使用與 composer 在您的源提交中安裝的檔案相同的檔案。
總之:
- 通過修改 composer.json 來更改包時,運行
composer update. - 保存/提交對composer.lock的更改
- 回購的克隆應該運行
composer install - composer 不僅僅是獲取和安裝依賴項——它還運行實用程式腳本,并區分生產環境和開發環境。它還將構建自動加載腳本以包含在您的專案中。
- 可以隨時運行
composer install,因此您可以根據需要在每次 git pull 時運行它。它應該與 git repos 是冪等的。 - 對于生產環境,可以考慮使用 --no-dev 標志等選項。
composer install --no-dev這將省略任何開發庫,但是,擁有一個登臺環境以確保您已在某處實際測驗過該構建是很重要的。您可能需要研究并考慮生產部署的這些附加選項:composer install --no-dev --no-scripts --optimize-autoloader.
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/435247.html
