精簡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)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END