缓存清了但install仍失败,需同步清理vendor/和composer.lock并执行composer install --no-cache --force-checksums,同时验证镜像配置键名、type值、URL斜杠是否正确,检查TMPDIR空间是否充足。

缓存清了但 install 还失败?先确认是否真清干净
执行 composer clear-cache 后仍报错,常见原因是缓存目录残留或权限卡住。Composer 默认缓存路径是 ~/.composer/cache(Linux/macOS)或 %APPDATA%\Composer\Cache(Windows),但 clear-cache 命令可能因进程锁、只读文件或磁盘错误跳过部分子目录。
必须手动验证:运行 composer config --global cache-dir 确认路径,再进该目录检查 files/ 和 downloads/ 是否为空。若发现 *symfony/console*.zip 这类文件还在,说明没清掉——此时直接 rm -rf files/ downloads/(Linux/macOS)或用 PowerShell 删除对应 ZIP 更可靠。
另外,clear-cache --dry-run 可提前看实际要删什么,输出 No cache files to delete 就别白跑命令。
删 vendor 但不碰 composer.lock?等于白干
composer.lock 里硬编码了每个包的 dist.sha256 值,它和缓存 ZIP 文件强绑定。只删 vendor/、不清 composer.lock,Composer 重装时仍会拿旧哈希去校验已损坏的缓存 ZIP,直接报 Corrupted zip file 或 Failed to extract。
正确操作必须同步三步:
- 备份:运行
cp composer.lock composer.lock.bak(Linux/macOS)或copy composer.lock composer.lock.bak(Windows) - 彻底删除:
rm -rf vendor composer.lock或rmdir /s vendor & del composer.lock - 重装加强制校验:
composer install --no-cache --force-checksums——--no-cache跳过本地 ZIP 查找,--force-checksums让校验失败立刻退出,不污染vendor/
镜像配置写对了却没生效?查这三个硬性字段
日志里还出现 Downloading https://repo.packagist.org/...?说明镜像根本没接管。失效原因几乎都卡在配置键名、type 值、URL 斜杠这三点:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 键名必须是
repo.packagist,不是repos.packagist(多一个 s 就进无效字段) - type 值必须显式写
composer,不能省略或写成git、vcs - URL 必须以
/结尾,比如https://mirrors.aliyun.com/composer/,少斜杠会被当作文本处理
验证方式:运行 composer config --global --list | grep repo,看到 repo.packagist [composer] https://... 才算对。
磁盘空间不足导致解压失败?临时目录才是关键战场
报 No space left on device 时,别只盯着 ~/.composer/cache。Composer 下载 ZIP、解压、重命名全在系统临时目录做:/tmp(Linux/macOS)或 %TEMP%(Windows)。这个分区往往只有几 GB,而一个大包解压峰值可能占 1.6GB 以上。
必须同时改两个环境变量:
export COMPOSER_CACHE_DIR="/bigdisk/composer-cache"-
export TMPDIR="/bigdisk/tmp"(Linux/macOS)或set TMP=%BIGDISK%\tmp(Windows)
之后跑 composer install --no-plugins --no-scripts --no-autoloader --prefer-dist --no-dev,跳过插件、脚本、自动加载生成,能大幅压低临时空间占用。
真正卡点不在缓存大小,而在缓存、lock、临时目录三者是否同步清理;镜像配置哪怕只错一个字符,就会静默失效;磁盘问题里 TMPDIR 比 COMPOSER_CACHE_DIR 更容易被忽略。

















