Composer 缓存存储于 ~/.composer/cache,包含 files、vcs 和 repo 目录,其中 files 和 vcs 占用空间较大;使用 composer clear-cache 可安全清空缓存,不影响项目运行;可通过手动进入缓存目录查看并删除旧版本释放空间;建议定期执行清理或在部署脚本中加入该步骤,必要时可自定义缓存路径。
Composer 在使用过程中会自动缓存已下载的包版本,以提升后续安装或更新的效率。但随着时间推移,这些缓存中可能积累大量不再使用的旧版本文件,占用磁盘空间。安全清理这些缓存可以释放空间,同时不影响当前项目的正常运行。
了解 Composer 缓存结构
Composer 默认将缓存存储在用户主目录下的 ~/.composer/cache 目录中,主要包括:
- files/:存放通过 dist 下载的压缩包(如 zip、tar)
- vcs/:存放从 Git 等版本控制系统克隆的仓库
- repo/:存放解析后的包元信息
清理时应优先处理 files 和 vcs 目录,它们通常占用最多空间。
使用内置命令清理过期缓存
Composer 提供了安全的缓存管理命令,推荐优先使用:
- composer clear-cache:清空所有缓存(等同于
clearcache
),会删除整个 cache 目录内容,但下次运行时会重新生成,安全无副作用 - composer cache-clear:与上一条相同,是别名命令
执行示例:
composer clear-cache
该操作不会影响已安装的项目依赖,仅清除本地缓存副本。
选择性清理旧版本缓存(高级)
若想保留常用包的缓存而只删除陈旧版本,可手动进入缓存目录查看:
cd ~/.composer/cache/files
du -sh * | sort -hr | head -20
通过上述命令查看占用空间最大的包。确认某些包长时间未使用且当前项目不依赖旧版本后,可手动删除对应目录:
rm -rf vendor-name/package-name
注意:手动删除时确保不误删正在使用的版本,建议先备份或逐个清理。
定期维护建议
为避免缓存膨胀,可设置定期清理任务:
- 每季度运行一次 composer clear-cache
- 在部署脚本或开发环境重置流程中加入缓存清理步骤
- 使用 composer config --global cache-dir 可自定义缓存路径,便于统一管理
基本上就这些。Composer 的缓存机制本身是安全的,清理后会在需要时自动重新下载,只要网络通畅,不会影响正常使用。