生產(chǎn)環(huán)境部署:如何避免Composer加載開發(fā)依賴?

生產(chǎn)環(huán)境部署:如何避免Composer加載開發(fā)依賴?

精簡composer依賴:生產(chǎn)環(huán)境下排除開發(fā)依賴

php項目開發(fā)中,Composer是不可或缺的依賴管理工具。我們常將開發(fā)工具和庫列在require-dev部分,但在生產(chǎn)環(huán)境中,這些庫通常是多余的。本文將講解如何避免在生產(chǎn)環(huán)境中加載這些開發(fā)依賴,從而優(yōu)化項目大小和部署效率。

問題:開發(fā)依賴誤入生產(chǎn)環(huán)境

假設(shè)你的composer.json文件包含以下依賴:

{     "require": {         "php": ">=5.6",         "baidu/aip-sdk": "^2.2"     },     "require-dev": {         "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",         "php-parallel-lint/php-parallel-lint": "^1.2.0"     } }

dealerdirect/phpcodesniffer-composer-installer和php-parallel-lint/php-parallel-lint僅用于開發(fā)階段的代碼檢查等工作,卻也安裝到了vendor目錄,增加了項目體積。如何只安裝生產(chǎn)環(huán)境所需的依賴呢?

解決方案:精準(zhǔn)安裝,優(yōu)化加載

要只安裝生產(chǎn)環(huán)境依賴并優(yōu)化自動加載器,請使用以下Composer命令:

composer install --no-dev --optimize-autoloader

–no-dev選項指示Composer忽略require-dev中的依賴,只安裝require部分列出的依賴。–optimize-autoloader選項則優(yōu)化自動加載器,提升應(yīng)用加載速度。 執(zhí)行此命令后,你的vendor目錄將只包含必要的生產(chǎn)依賴,從而減小項目大小。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊6 分享