Composer缓存可加速包安装,但会积累无用旧版本占用空间。使用composer cache-dir查看缓存路径,运行composer clear-cache清空全部缓存,或手动进入~/.composer/cache/files删除未使用的旧版本文件,建议定期清理以释放磁盘空间。
Composer 在使用过程中会缓存已下载的包版本,以加快后续安装速度。但随着时间推移,这些缓存中可能积攒了许多不再被项目使用的旧版本包,占用磁盘空间。以下是清理这些无用缓存的方法。
查看当前缓存使用情况
你可以先查看 Composer 缓存目录的大小和内容,了解需要清理的空间:
composer cache-dir
这条命令会输出缓存目录的路径(通常是 ~/.composer/cache),然后可以进入该目录查看文件占用情况。
清理所有包缓存(谨慎操作)
如果你想彻底清空所有包缓存(包括当前项目仍在使用的版本),可以运行:
composer clear-cache
或使用别名:
composer clearcache
这会删除所有已缓存的 zip 文件和包数据,下次执行 composer install 时会重新下载所需版本。
选择性清理未使用的包缓存
Composer 本身没有“只删除未使用版本”的内置命令,但你可以通过以下方式手动管理:
- 进入缓存目录:~/.composer/cache/files
- 每个子目录对应一个包(如 monolog/monolog)
- 目录中的每个文件是一个版本的压缩包(如 1.2.3.zip)
- 检查你的项目 composer.lock 文件,确认当前使用了哪些包和版本
- 删除那些不在任何项目中使用的旧版本文件
例如:如果你的项目现在用的是 monolog 2.5.0,而缓存里还有 1.0.0、1.1.0 等旧版,且你确定不会再切换回这些版本,就可以安全删除它们。
自动定期清理建议
为避免缓存膨胀,可以设置定期清理任务:
- 每月运行一次 composer clear-cache(适合开发环境)
- 或编写脚本对比 composer.lock 和缓存文件,仅保留当前使用的版本
- 在 CI/CD 环境中,建议每次构建后自动清理缓存
基本上就这些。Composer 缓存虽然有用,但长期不清理会影响磁盘空间。根据实际需求选择全量清除或手动筛选,保持开发环境整洁。