不会清 repo/ 目录本身,但会清其子目录内容(如 https---packagist.org/);若权限不足或目录被占用则静默跳过,手动删除 ~/.composer/cache/repo/ 更可靠。

composer clear-cache 会清 repo/ 目录吗?
会,但只清 repo/ 子目录下的内容(如 https---packagist.org/),前提是没被跳过或锁住。默认行为是包含它,但若缓存路径权限不对、目录被 IDE 或杀毒软件占用,composer clear-cache 可能静默跳过部分文件,导致元数据残留。
手动删 ~/.composer/cache/repo/ 更可靠
遇到“装不到新版包”“composer update 还拉旧版本”,大概率是 repo/ 里缓存的 packages.json 没更新。官方命令有时不彻底,直接删更稳:
-
rm -rf ~/.composer/cache/repo/(Linux/macOS) -
rd /s /q "%APPDATA%\Composer\Cache\repo"(Windows cmd) - 删完立刻运行
composer update --dry-run,看是否重新下载元数据(输出里有Downloading https://packagist.org/packages.json就对了) - 别顺手删
vendor/composer/installed.json或composer.lock——这俩不属于缓存,删了会导致依赖解析错乱
为什么删了 repo/ 后 composer install 还很快?
因为 repo/ 只存远程仓库的元数据(比如包列表、版本映射),不存实际代码。真正影响安装速度的是 files/(ZIP 包)和 vcs/(Git 克隆)。删 repo/ 后首次 install 会多一次 HTTP 请求拉 packages.json,但体积小、耗时短;后续请求仍走内存缓存,感知不强。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
长期避免元数据滞后:配缓存 TTL 或禁用镜像缓存
公司私有镜像常把元数据缓存设成 24 小时 TTL,导致你 push 新版包后半天拉不到。解决方法:
- 确认是否用了镜像:
composer config --global repos.packagist.org,如果url不是https://packagist.org,就可能被代理缓存 - 临时绕过镜像:
composer install --repository=https://packagist.org - 强制刷新元数据(不删缓存):
composer update --no-cache,这个参数跳过读repo/,但注意它仍会往系统sys_get_temp_dir()写临时 ZIP,不是真“无缓存”
最易被忽略的一点:删 repo/ 前先确认没其他终端正在跑 composer update——后台进程锁着目录时,rm -rf 可能删一半失败,后续触发 Corrupted cache file 报错。










