0

0

composer如何清理本地已下载的缓存文件_composer clear-cache命令详解【教程】

穿越時空

穿越時空

发布时间:2026-01-22 16:31:46

|

252人浏览过

|

来源于php中文网

原创

composer clear-cache 清空 ~/.composer/cache/ 下 repo/、files/、downloads/ 三个子目录,不影响 vendor/ 和 composer.json;它解决元数据过期问题,但不改变版本约束,故清缓存后 update 仍按 composer.json 安装。

composer如何清理本地已下载的缓存文件_composer clear-cache命令详解【教程】

直接运行 composer clear-cache 就能清掉所有已下载的包缓存,但实际执行前得先确认它到底清什么、会不会误删项目文件、以及为什么有时候清了还拉不到新版包。

缓存位置在哪?composer clear-cache 清的是哪些文件

Composer 缓存默认存在用户主目录下:~/.composer/cache/(Linux/macOS)或 %APPDATA%\Composer\Cache\(Windows)。这个命令会清空其中的 repo/(包元数据)、files/解压后的源码归档)、downloads/(原始 zip/tar 包)三个子目录。它不会碰你的项目 vendor/composer.json,也不会删除全局配置。

  • repo/:下次 composer install 会重新抓 packagist.org 的包列表(比如哪些版本可用)
  • files/:已安装过的包归档会被删,重装时需重新解压(不影响功能,但稍慢)
  • downloads/:所有下载过的原始压缩包被删,下次 install/update 会重新下载

什么时候必须用 composer clear-cache

不是每次更新都要清缓存。真正需要它的情况很具体:

  • 遇到 Could not parse version constraint ... Invalid version string 且确认 composer.json 没写错——可能是本地 repo 缓存里残留了旧版 packagist 元数据
  • 刚切换了国内镜像源(如阿里云腾讯云),但 composer update 仍报 404 或找不到包——缓存里的 repo 地址没自动刷新
  • 手动修改过 ~/.composer/auth.json(比如加了私有仓库 token),但 composer 仍提示认证失败——部分认证信息可能被缓存在 repo 目录中
  • 磁盘空间告急,而 ~/.composer/cache/ 占了几个 GB(常见于长期未清理的 CI 机器或开发环境)

clear-cache 执行后为什么 composer update 还拉不到新版本

清缓存 ≠ 强制更新依赖。它只解决「本地元数据过期」问题,不改变你项目里 composer.json 中声明的版本约束。比如你写的是 "monolog/monolog": "^2.0",即使 monolog 已发布 3.0,clear-cachecomposer update 依然只会装 2.x 最新版。

如果目标是升级到突破性版本(如 2→3),必须手动改 composer.json;如果想强制重算所有依赖并尝试升到允许范围内的最新版,用 composer update --with-all-dependencies,而不是指望清缓存。

Reclaim.ai
Reclaim.ai

为优先事项创建完美的时间表

下载

另外注意:某些私有 Packagist 镜像(如 Satis、Private Packagist)若配置了 repositories 且类型为 composer,其元数据也走缓存机制——清完缓存后首次访问该源会明显变慢,这是正常现象。

不想全清?可以只删特定目录

如果只想释放空间又怕影响速度,可以跳过 clear-cache,直接进缓存目录删大文件:

rm -rf ~/.composer/cache/files/*
# 或只删一年前的下载包(Linux/macOS)
find ~/.composer/cache/downloads -name "*.zip" -mtime +365 -delete

但别手动删 repo/ 下的 packages.json 或哈希目录——结构损坏会导致后续命令反复报错,不如直接 clear-cache 干净。

缓存是否启用、路径是否自定义,都由 composer config --global cache-dircache-files-ttl 等配置控制,这些细节常被忽略,但恰恰决定清缓存后第一次 install 的耗时和网络请求量。

相关专题

更多
composer是什么插件
composer是什么插件

Composer是一个PHP的依赖管理工具,它可以帮助开发者在PHP项目中管理和安装依赖的库文件。Composer通过一个中央化的存储库来管理所有的依赖库文件,这个存储库包含了各种可用的依赖库的信息和版本信息。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

150

2023.12.25

json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

417

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

533

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

310

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

76

2025.09.10

string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

338

2023.08.02

登录token无效
登录token无效

登录token无效解决方法:1、检查token的有效期限,如果token已经过期,需要重新获取一个新的token;2、检查token的签名,如果签名不正确,需要重新获取一个新的token;3、检查密钥的正确性,如果密钥不正确,需要重新获取一个新的token;4、使用HTTPS协议传输token,建议使用HTTPS协议进行传输 ;5、使用双因素认证,双因素认证可以提高账户的安全性。

6105

2023.09.14

登录token无效怎么办
登录token无效怎么办

登录token无效的解决办法有检查Token是否过期、检查Token是否正确、检查Token是否被篡改、检查Token是否与用户匹配、清除缓存或Cookie、检查网络连接和服务器状态、重新登录或请求新的Token、联系技术支持或开发人员等。本专题为大家提供token相关的文章、下载、课程内容,供大家免费下载体验。

811

2023.09.14

菜鸟裹裹入口以及教程汇总
菜鸟裹裹入口以及教程汇总

本专题整合了菜鸟裹裹入口地址及教程分享,阅读专题下面的文章了解更多详细内容。

0

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.6万人学习

Git 教程
Git 教程

共21课时 | 2.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号