如何通过composer.json额外配置缩减Google API PHP Client包体积并仅加载指定服务?
解决Google API PHP Client仅下载指定服务包的问题
你的配置思路是对的,没生效大概率是缓存干扰或细节疏漏,按以下步骤调整即可实现仅保留所需服务包:
清理现有依赖缓存:先删除本地的
vendor目录和composer.lock文件,避免旧依赖缓存影响新配置的执行:rm -rf vendor composer.lock修正配置细节:确保服务名称为官方准确命名(比如表格服务是
Sheets而非Sheet),修正后的composer.json示例如下:{ "require": { "google/apiclient": "^2.12.1" }, "scripts": { "pre-autoload-dump": "Google\\Task\\Composer::cleanup" }, "extra": { "google/apiclient-services": [ "Drive", "Sheets", "YouTube" ] } }重新执行安装:运行
composer install,观察控制台输出,若出现Running pre-autoload-dump script Google\Task\Composer::cleanup的日志,说明清理脚本已生效。此时查看vendor/google/apiclient-services/src/Google/Service目录,只会保留你指定的服务文件夹。
额外说明:如果使用google/apiclient 3.x版本,官方已改为拆分独立服务包,可直接单独require对应服务(比如指定具体服务版本的google/apiclient-services),无需依赖清理脚本。
内容的提问来源于stack exchange,提问作者Ejaz UL Haq
相关产品推荐
相关产品推荐

