真重装需同时清理vendor、composer.lock和本地缓存三层,仅删vendor或仅删lock均无效;必须配合composer clear-cache --no-cache与composer install --no-cache确保彻底重新下载。

真重装不是删 vendor 就完事——它大概率从缓存解压旧 zip、照着 composer.lock 复原,根本没联网下载。必须同时清理三层:已安装产物、决策依据、本地缓存。
删 vendor 和 composer.lock 是硬性前提
只删 vendor,composer install 会按锁文件“复原”,连哈希校验都跳过;只删 composer.lock 不删 vendor,命令直接报错或拒绝执行。二者必须一起清:
- Linux/macOS:
rm -rf vendor composer.lock - Windows(PowerShell):
Remove-Item -Recurse -Force vendor, composer.lock - 删前确认
composer.lock已提交 Git——它是版本锚点,丢了就得靠composer update --lock重建,那已不是重装而是升级
composer clear-cache 必须配合 --no-cache
composer clear-cache 只清掉 ~/.composer/cache/ 下的归档和元数据,但不阻止后续命令自动重建缓存并复用旧哈希。不加 --no-cache,Composer 在下载前就命中缓存记录,根本不会发 HTTP 请求。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 先运行
composer clear-cache,确认输出含Clearing cache (all) - 紧接着执行
composer install --no-cache(--no-cache对install和update都有效) - CI/CD 中更保险:设
COMPOSER_CACHE_DIR=/dev/null composer install --no-cache,彻底绕过缓存路径
镜像源同步延迟?用 --refresh 或手动清 repo 缓存
现象是 Packagist 上已有新版本,但 composer update monolog/monolog 显示 Nothing to install or update——这不是网络问题,是 Composer 复用了本地缓存的 packages.json(默认 15 分钟不过期)。
- Composer ≥ 2.5:直接跑
composer update --refresh,强制丢弃所有 repo 缓存,重新下载元数据 - 手动清阿里云镜像缓存:
rm -rf $(composer config --global cache-dir)/repo/https---mirrors-aliyun-com-composer - 验证是否生效:再跑
composer update monolog/monolog -v,看日志里有没有Downloading https://mirrors.aliyun.com/composer/p/monolog/monolog/
想跳过删目录、只覆盖重装?用 composer install --force-reinstall
如果你只是修复损坏文件、重跑 post-install-cmd 脚本,又不想动 vendor 结构或 composer.lock,--force-reinstall 是最轻量的选择:
- 它强制重解压所有 dist 包、重建 autoload、重执行安装脚本,但完全不改
composer.lock - 必须确保
composer.lock是你想要的版本——如果 lock 文件本身滞后于composer.json(比如换了 PHP 版本),得先composer update --lock - 搭配
--no-dev可跳过开发依赖;加--with-all-dependencies能覆盖间接依赖(如被其他包引入的子包)
真正卡住人的地方,从来不是命令记不住,而是删了 vendor 却忘了 composer.lock,或者清了缓存却没加 --no-cache——漏掉任意一层,都可能复用旧包。










