必须用 composer create-project laravel/laravel 创建项目,而非 composer require laravel/framework;后者仅安装核心包,不生成 app/、routes/、artisan 等骨架文件,无法运行。

直接用 composer create-project laravel/laravel 就行,别手动改 composer.json 或反复 require,那是老版本或误读文档的典型操作。
为什么不用 composer require laravel/framework
这条命令只装核心包,不生成 app/、routes/、artisan 等 Laravel 项目骨架。你得到的是一个空壳依赖,不是可运行的 Laravel 应用。
-
composer require laravel/framework适合给已有项目“加框架能力”,比如在 Symfony 项目里引入 Illuminate 组件 - 新建项目必须走
create-project,它会执行post-create-project-cmd脚本,自动运行php artisan key:generate、初始化目录结构 - 跳过这步,后续跑
php artisan serve会报Class 'App\Http\Kernel' not found—— 因为根本没生成app/Http/Kernel.php
create-project 的关键参数和常见卡点
默认命令是 composer create-project laravel/laravel my-project,但实际使用中几个参数决定成败:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 加
--prefer-dist(推荐):跳过源码克隆,用压缩包安装,快且稳定;不加可能因 GitHub API 限流失败,报错Could not fetch https://api.github.com/... - 指定版本要用
laravel/laravel:^10.0这种写法,不是laravel/framework;写错会装成空包或报Could not find package - 如果提示
zlib_decode(): data error,大概率是 Composer 缓存损坏,先运行composer clear-cache再重试 - 国内用户遇到超时,别急着换镜像源——Laravel 官方包不在 Packagist 镜像覆盖范围内,应改用
composer config -g repo.packagist composer https://packagist.phpcomposer.com(注意:该镜像已停用,现推荐用https://packagist.org+composer config -g github-oauth.github.com "your_token"避免限流)
装完第一件事:检查 artisan 和环境文件
安装成功后进入目录,立刻验证两个关键点,避免后续调试踩坑:
- 运行
php artisan --version,输出类似Laravel Framework 10.48.12才算真正就位;如果报Command "serve" is not defined,说明vendor/autoload.php没加载,大概率是composer install没跑完或权限问题 -
.env文件必须存在且可写,否则APP_KEY无法生成,访问页面会报RuntimeException: No application encryption key has been specified - 别直接复制旧项目的
.env过来——新版本 Laravel 默认启用APP_URL=http://localhost,若改成http://127.0.0.1可能导致 Session 失效,因为 Cookie domain 匹配逻辑变了
最常被忽略的是 create-project 本质是「模板克隆」,不是「包安装」;一旦理解这点,就不会在 require 和 create-project 之间反复横跳,也不会把失败归咎于网络或 PHP 版本——绝大多数问题,出在没看清命令语义。

















