Composer安装指定Laravel 9.x版本异常,强制安装9.2+问题求助
解决Laravel特定9.x版本安装强制升级的问题
问题原因
从你提供的composer.json可以看到,laravel/framework的依赖约束是^9.11,这个符号代表安装9.11及以上的兼容版本,所以Composer会自动拉取当前最新的9.x稳定版(即v9.22.1)。同时,laravel/laravel项目模板的依赖配置已更新,直接指定框架版本的命令无法覆盖模板本身的约束。
解决方案
1. 清理Composer缓存
Composer可能缓存了旧的模板元数据,导致无法拉取指定的旧版本模板,先执行缓存清理:
composer clear-cache
2. 直接指定laravel/laravel项目模板的版本
composer create-project命令中指定的版本是**项目模板(laravel/laravel)**的版本,而非框架(laravel/framework)的版本,两者版本号一一对应。使用精确的模板版本号安装:
composer create-project laravel/laravel:9.1.* your-project-name --prefer-dist
3. 手动修改依赖约束并强制更新
如果上述命令仍无效,可先创建项目,再手动调整依赖:
- 打开项目根目录的
composer.json,将require中的laravel/framework约束从^9.11改为9.1.*:"laravel/framework": "9.1.*" - 执行带全依赖更新的命令,强制安装指定版本:
composer update laravel/framework --with-all-dependencies
4. 排除插件干扰(可选)
如果全局Composer配置或第三方插件影响版本选择,可添加--no-plugins参数尝试:
composer create-project laravel/laravel:9.1.* your-project-name --prefer-dist --no-plugins
内容的提问来源于stack exchange,提问作者C. Carley
相关产品推荐
相关产品推荐

