直接运行 composer install --force-reinstall 即可,在不删 vendor 的前提下强制重装全部依赖;它跳过完整性校验,依 lock 文件重新解包、复制并执行脚本,比删 vendor 更快更稳。

直接运行 composer install --force-reinstall 即可,在不删 vendor 的前提下强制重装全部依赖。
为什么不用删 vendor?
删除 vendor 目录虽然能“彻底重来”,但耗时长、网络压力大,还可能因缓存或镜像问题重复失败。Composer 本身支持更精准的重装逻辑:--force-reinstall 会跳过已安装包的完整性校验,强制从 lock 文件重新解包、复制、执行脚本(如 autoload 生成、post-install-cmd),等效于“就地重装”。
关键操作步骤
- 确保 composer.lock 文件存在且最新(若 lock 过期,先 composer update --lock 同步)
- 运行 composer install --force-reinstall(推荐加 --no-dev 或 --dev 明确环境)
- 如遇权限或符号链接问题,可追加 --prefer-dist(优先用压缩包而非 Git 克隆)
比删 vendor 更有效的排错组合
很多依赖异常其实不是“装错了”,而是 autoload 损坏、脚本未执行或 vendor 中混入了手动修改文件。这时可搭配使用:
- composer dump-autoload -o:强制重建优化后的自动加载映射
- composer run-script post-install-cmd:手动触发安装后脚本(如 Laravel 的 storage:link)
- composer show --tree:快速确认实际加载的包版本是否与 lock 一致
基本上就这些——不复杂但容易忽略。










