composer clear-cache 不影响 vendor/,因其仅清理 ~/.composer/cache 下的 files/、repo/、vcs/ 子目录,不触碰 vendor/、composer.lock 或项目文件;误以为清缓存等于重装是常见误区。

composer clear-cache 为什么清完 vendor 还在
因为 composer clear-cache 只清理 ~/.composer/cache(Linux/macOS)或 %APPDATA%\Composer\Cache(Windows)下的 files/、repo/、vcs/ 子目录,它从不碰 vendor/、composer.lock 或项目文件。误以为“清缓存=重装”是常见误区。
常见错误现象包括:
- 执行后磁盘空间没变化 → 实际想删的是
vendor/(常占 300–800 MB),不是缓存 - 仍装旧版包 →
composer.lock锁定了版本,缓存清理不影响它 - 日志里还出现
Using cache→ 缓存已清,但 Composer 正在复用vendor/中已安装的包
如何确认当前生效的镜像源
Composer 实际使用的源优先级是:项目级 composer.json > 全局配置 > 默认官方源。只看 composer config -g repo.packagist 输出会误导你。
必须逐层验证:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 进项目目录,运行
composer config repo.packagist—— 查项目级是否覆盖 - 运行
composer config -g repos.packagist(注意是repos.packagist,不是repo.packagist)—— 查全局是否显式设置 - 检查环境变量:
echo $COMPOSER_REPO_PACKAGIST(Linux/macOS)或echo %COMPOSER_REPO_PACKAGIST%(Windows) - 若三者都为空,但请求仍走镜像域名 → 很可能是网络层劫持(如阿里云 DNS 重定向),非配置问题
彻底清除镜像并恢复 packagist.org 的操作顺序
顺序错一步,就可能白操作。必须严格按以下步骤执行:
- 删除全局镜像:
composer config -g --unset repos.packagist - 编辑项目
composer.json,删掉整个"repositories"块(包括带packagist.org别名或镜像 URL 的条目) - 取消环境变量:
unset COMPOSER_REPO_PACKAGIST(Linux/macOS)或set COMPOSER_REPO_PACKAGIST=(Windows CMD) - 清缓存:
composer clear-cache—— 否则旧镜像元数据仍被复用 - 验证真实请求地址:
composer install -vvv | grep -i 'GET https'(Linux/macOS),观察是否出现https://packagist.org/
缓存损坏导致 “Failed to extract” 怎么精准修复
看到 Corrupted zip file 或 Failed to extract vendor/symfony/console,说明 ~/.composer/cache/files/ 下某个 ZIP 已损坏,全量清缓存反而低效且耗时。
正确做法是定位+单删+同步重装:
- 盯住
composer install -v输出末尾,找Extracting后的包名和版本 - 查缓存路径:
composer config --global cache-dir - 进
files/目录,模糊搜索 ZIP:ls -l *symfony*console*.zip(Linux/macOS) - 只删匹配的 ZIP 文件,别动
repo/和vcs/ - 同步删掉
vendor/和composer.lock(否则dist.sha256校验仍失败) - 重装加两个关键参数:
composer install --no-cache --force-checksums
漏掉 composer.lock 就白删 vendor/;CI 环境中尤其要注意,它若含旧镜像地址,重装永远走错路。










