Composer 支持 cache-files-ttl 配置项以管理 dist 缓存文件的有效期,单位为秒。例如设置 "cache-files-ttl": 3600 表示缓存1小时内有效,超过后会检查远程更新;可配置在项目或全局 composer.json 中,结合 cache-files-maxsize 等选项优化缓存行为,适用于 CI/CD 和团队开发以提升效率。

Composer 本身没有直接提供 cache-files-ttl 这个配置项来管理缓存文件的过期时间。但你可以通过相关配置和环境变量来控制缓存行为,尤其是与 dist 包(如 zip 压缩包)下载缓存的生命周期有关的内容。
理解 Composer 缓存机制
Composer 使用缓存来加速依赖安装,主要分为两类:
- dist cache:存储从 VCS 或镜像下载的压缩包(如 zip、tar)
- source cache:存储从 Git 等版本控制系统克隆的源码
这些缓存默认保存在系统临时目录或用户目录下的 ~/.composer/cache 中。
使用 cache-files-ttl 的正确方式
实际上,cache-files-ttl 是 Composer 配置中的一个有效选项,用于设置 dist 缓存文件的有效时间(以秒为单位)。超过这个时间后,Composer 会检查远程资源是否更新。
配置方法如下:
"config": {
"cache-files-ttl": 3600
}
这表示缓存文件在 1 小时内视为有效,不会重新下载。设为 0 表示每次都会检查更新,相当于禁用缓存有效期。
全局或项目级配置
你可以在两个层面设置该参数:
- 项目级:在项目的 composer.json 中添加 config 段
- 全局级:运行命令修改全局配置
例如,设置全局缓存有效期为 2 小时:
composer config --global cache-files-ttl 7200
其他相关缓存配置
除了 cache-files-ttl,还可以结合以下设置优化缓存行为:
- cache-files-maxsize:限制缓存总大小,默认 300MiB
- use-github-api:影响 GitHub 资源获取方式和缓存策略
- preferred-install:影响安装方式(dist / source)从而影响缓存使用
示例:
"config": {
"cache-files-ttl": 1800,
"cache-files-maxsize": "500MiB"
}
基本上就这些。合理设置 cache-files-ttl 可在稳定性和效率之间取得平衡,尤其适合 CI/CD 环境或团队开发中减少重复下载。注意它只影响 dist 缓存,不会跳过包版本解析过程。










