使用 Composer 安装指定版本 Laravel
在 Laravel 开发中,官方推荐使用 laravel new 快速创建项目,但它有一个明显限制:只能安装最新版本 Laravel,无法指定旧版本
这在以下场景中会带来问题:
- 维护旧项目(如 Laravel 8 / 9)
- 学习特定版本特性
- 服务器 PHP 版本较低(无法运行最新版 Laravel)
为什么不用 laravel new
laravel new my-app
这个命令的特点:
- ✅ 简单快捷
- ❌ 只能安装最新版本
- ❌ 无法锁定版本
composer create-project
composer create-project laravel/laravel project-name "版本号"
安装指定版本 Laravel
composer create-project laravel/laravel my-app "10.*"
composer create-project laravel/laravel my-app "9.*"
composer create-project laravel/laravel my-app "8.*"
composer create-project laravel/laravel my-app "8.6.12"
版本约束详解
Composer 的版本控制非常灵活,理解这一部分是关键。
常见写法
| 写法 | 含义 |
|---|---|
"10.*" | 任意 10.x 版本 |
"^10.0" | >=10.0 且 <11.0 |
"~10.0" | >=10.0 且 <10.1 |
"8.6.12" | 精确版本 |
查看所有可用版本
composer show laravel/laravel --all
常见问题与解决方案
PHP 版本不兼容
不同 Laravel 版本要求不同:
| Laravel | PHP 要求 |
|---|---|
| 10 | >= 8.1 |
| 9 | >= 8.0 |
| 8 | >= 7.3 |
检查 PHP 版本:
php -v
Composer 依赖安装失败
常见原因:
- 网络慢 / 被墙
- 包下载失败
解决:使用镜像
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
权限问题
sudo chown -R $USER:$USER .
composer vs laravel new 对比
| 特性 | composer create-project | laravel new |
|---|---|---|
| 指定版本 | ✅ 支持 | ❌ 不支持 |
| 灵活性 | ⭐⭐⭐⭐⭐ | ⭐⭐ |
| 上手速度 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 适用场景 | 老项目 / 教学 | 新项目 |
最佳实践
✅ 推荐策略:
- 新项目 →
laravel new - 指定版本 →
composer create-project - 团队开发:
- 固定主版本(如 10.*)
- 提交
composer.lock
总结
composer create-project是 控制 Laravel 版本的核心工具- 掌握版本约束可以让你更灵活管理项目
- 在实际开发中,根据需求选择工具:
新项目追求效率,旧项目追求稳定