composer clear-cache 不重装 vendor,因其仅清理 ~/.composer/cache/ 中的 zip 和元数据,不触碰 vendor/ 和 composer.lock;真正重装需三步:删 vendor/、删 composer.lock、执行 composer install --no-cache。

composer clear-cache 后为什么 vendor 还没重装?
因为 composer clear-cache 只清掉 ~/.composer/cache/ 里的 zip 和元数据,不影响已安装的 vendor/ 目录和 composer.lock 文件。Composer 仍会按 lock 文件“复原”现有结构——它不认为需要重下,哪怕缓存刚被清空。
真正触发重新下载的三个必要动作
漏掉任意一个,就可能复用旧文件或跳过网络请求:
- 删掉
vendor/目录(保留项目代码) - 删掉
composer.lock(这是关键!否则仍是“还原”,不是“重装”) - 执行
composer install --no-cache(强制跳过缓存,走真实网络)
注意:--no-cache 参数在 Composer ≥ 2.2 才生效;低于该版本需先确认是否已升级:composer --version。
只想重拉某个包,别动整个 vendor
常见于怀疑某包 ZIP 损坏、想验证 CDN 是否更新、或 CI 中需要干净解压:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 运行
composer remove vendor/package-name(注意格式是vendor/package-name,不是package-name) - 再运行
composer require vendor/package-name:^x.y.z(显式指定版本,避免意外升级) - 如果该包是
require-dev,加--dev:例如composer require --dev phpunit/phpunit:^10.5
不要用 composer update vendor/package-name 来“重拉”——它会连带更新该包所有子依赖,并改写 composer.lock,带来构建不确定性。
缓存清理后仍卡在 Downloading (0%)?检查镜像和超时
清缓存只是第一步,网络层问题常被忽略:
- 确认镜像已生效:
composer config -g repo.packagist输出必须是https://mirrors.aliyun.com/composer/这类国内地址 - 设置 HTTP 超时:
composer config -g http.timeout 600(不是http-timeout) - 禁用 IPv6(Windows 常见):
set COMPOSER_NO_IPV6=1再运行 install,或全局配置composer config -g use-ipv4 true
最麻烦的从来不是“缓存有没有清”,而是“网络请求到底发没发出去”——--dry-run 是唯一能快速验证的方式。










