运行 composer dump-autoload 即可重新生成 autoload 文件,无需更新依赖;它仅扫描 composer.json 中定义的 autoload 配置,重建 vendor/autoload.php 及映射,不修改已安装包。

直接运行 composer dump-autoload 即可重新生成 autoload 文件,无需更新依赖。
基础用法:快速重生成自动加载映射
该命令仅扫描 composer.json 中定义的 autoload 配置(如 psr-4、psr-0、classmap、files),重新构建 vendor/autoload.php 及相关映射文件,不修改任何已安装的包。
- 执行:
composer dump-autoload - 效果:刷新类与文件路径的对应关系,适用于新增/删除类、调整命名空间或修改 autoload 配置后
常用选项提升效率
根据项目结构和需求,可添加参数优化生成行为:
-
--optimize(简写-o):生成优化后的 classmap(将所有类路径写入一个数组),提升生产环境加载速度 -
--classmap-authoritative(简写-a):声明 classmap 是“权威来源”,Autoloader 将跳过文件系统检查,进一步提速(需确保 classmap 完整) -
--no-dev:忽略autoload-dev配置,适合生产环境构建
什么情况下必须运行?
以下操作后建议手动执行,否则新类可能无法被自动加载:
- 在
psr-4映射目录下新增 PHP 类文件 - 修改了
composer.json中的autoload或autoload-dev字段 - 从 Git 拉取代码后发现部分类报 “Class not found”,且确认未改动依赖版本
与 install/update 的区别
关键区别:
dump-autoload 不读取 packagist、不下载/更新任何包、不修改 vendor/ 下的包代码,只刷新本地自动加载逻辑。
而 composer install 或 update 会解析依赖并可能覆盖 vendor/,附带执行一次 autoload 生成 —— 但那只是副作用,不是它的主要目的。










