Composer 1.x 升级到 2.x 是必须操作,因 Laravel 9+、Symfony 6+ 等新包已彻底弃用 1.x 兼容性,否则 install/update 直接报错;需确认实际运行版本、用官方脚本覆盖安装,并注意依赖解析更严格带来的常见报错。
Composer 1.x 升级到 2.x 不是“可选优化”,而是必须操作——很多新包(如 Laravel 9+、Symfony 6+)已彻底放弃对 1.x 的兼容,composer install 或 composer update 会直接报错退出。
确认当前 Composer 版本并检查是否真在用 1.x
别只看 composer --version 输出里带不带 2.,有些系统可能装了两个版本(比如通过 apt 装的旧版 + 手动下载的新版),实际执行的却是旧版。运行:
which composer
再配合:
composer --version
如果输出类似 Composer version 1.10.22 2021-04-08 15:46:45,说明确实在用 1.x。注意:Composer 2.0.0 发布于 2020 年底,所有 1.x 分支早在 2021 年中就停止维护。
用官方 installer 升级(推荐,覆盖式安全)
Composer 官方明确建议用 install 脚本重装,而不是手动替换二进制文件——它会自动处理权限、路径和全局配置迁移。执行: