Composer怎么创建Laravel项目 命令行搭建Laravel环境教程【指南】

发布时间 - 2026-01-31 00:00:00    点击率:
最稳妥的Laravel项目创建方式是composer create-project,它自动下载指定版本、安装依赖、生成目录并运行npm install;而laravel new因版本滞后、权限问题和调试困难不推荐。

直接用 composer create-project 创建 Laravel 项目

最常用、最稳妥的方式是使用 Composer 的 create-project 命令,它会自动下载指定版本的 Laravel 框架、安装依赖、生成基础目录结构,并运行 npm install(如果项目含前端脚手架)。

执行命令前确保已安装 PHP(≥8.1)、Composer 和 Node.js(可选,仅需编译前端资源时):

  • composer create-project l

    aravel/laravel my-project
    —— 创建最新稳定版
  • composer create-project laravel/laravel my-project "10.*" —— 指定 Laravel 10.x 版本
  • composer create-project laravel/laravel my-project --prefer-dist --no-interaction —— 跳过交互提示,适合 CI/CD 或批量部署

注意:--prefer-dist 强制从压缩包安装(更快),--no-interaction 避免卡在环境配置提问(如是否创建 Git 仓库)。

为什么不用 laravel new

laravel new 是 Laravel 官方提供的快捷命令,但它依赖全局安装的 laravel/installer 工具。这个工具本质就是封装了 create-project,但存在几个实际问题:

  • 版本滞后:官方 installer 更新不及时,可能拉不到最新的 Laravel 小版本(比如 10.42.0 已发布,installer 还停留在 10.40.0)
  • 权限与路径问题:全局安装的 laravel 命令在某些系统(尤其是 macOS M1/M2 + Homebrew 或 Windows WSL)上容易因 PATH 或 symlink 失效而报错 command not found
  • 调试困难:出错时看不到底层 Composer 日志,排查依赖冲突或网络超时更麻烦

除非你明确需要 laravel new my-project --git 这类快捷开关,否则直接用 composer create-project 更透明、可控。

常见错误和对应解决方法

执行 create-project 时遇到失败,多数不是 Laravel 本身的问题,而是环境或网络导致:

  • [RuntimeException] Failed to execute git clone ...:Composer 默认尝试用 Git 克隆,若本地没配 Git 或网络无法访问 GitHub,加 --prefer-dist 强制走 ZIP 包
  • file_put_contents(.../composer.json): failed to open stream:目标目录已存在且非空,删掉再试;或当前用户无写入权限(尤其在 Docker 或 root 用户下操作)
  • PHP Fatal error: Uncaught ErrorException: require(.../vendor/autoload.php): Failed opening required:说明依赖没装成功,检查 composer install 是否被跳过,或运行 cd my-project && composer install 手动补装
  • Laravel 11+ 报 Class "Illuminate\Foundation\Application" not found:确认 PHP 版本 ≥8.2(Laravel 11 强制要求),旧版 PHP 会静默失败

创建后必须做的三件事

项目目录生成完只是起点,不执行这几步,项目大概率跑不起来:

  • 生成应用密钥:php artisan key:generate(否则 session、加密等功能异常)
  • 配置数据库:修改 .env 中的 DB_DATABASEDB_USERNAMEDB_PASSWORD,并确保 MySQL/PostgreSQL 服务已启动
  • 启动开发服务器:php artisan serve(默认监听 http://127.0.0.1:8000),不要直接用 PHP 内置服务器跑 public/index.php,会丢失重写规则

特别提醒:.env 文件在 create-project 后自动生成,但里面的数据库密码是空的,很多人卡在这一步连首页都打不开——不是代码问题,是环境没填对。


# mysql  # php  # word  # laravel  # js  # 前端  # node.js  # git  # json  # node  # docker  # composer  # npm  # 封装  # require  # Session  # Error  # class  # public 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  如何为不同团队 ID 动态生成多个独立按钮  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  如何快速选择适合个人网站的云服务器配置?  制作旅游网站html,怎样注册旅游网站?  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  如何在Windows服务器上快速搭建网站?  如何撰写建站申请书?关键要点有哪些?  无锡营销型网站制作公司,无锡网选车牌流程?  详解jQuery中基本的动画方法  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  活动邀请函制作网站有哪些,活动邀请函文案?  EditPlus中的正则表达式实战(5)  网站建设整体流程解析,建站其实很容易!  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  Laravel如何与Pusher实现实时通信?(WebSocket示例)  Thinkphp 中 distinct 的用法解析  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  如何在阿里云域名上完成建站全流程?  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  北京网站制作的公司有哪些,北京白云观官方网站?  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  网站制作大概多少钱一个,做一个平台网站大概多少钱?  Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】  微信小程序 scroll-view组件实现列表页实例代码  北京网站制作公司哪家好一点,北京租房网站有哪些?  大连网站制作公司哪家好一点,大连买房网站哪个好?  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  ,交易猫的商品怎么发布到网站上去?  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】  Python数据仓库与ETL构建实战_Airflow调度流程详解  js实现获取鼠标当前的位置  如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)  Laravel怎么在Controller之外的地方验证数据  如何在 React 中条件性地遍历数组并渲染元素  网站优化排名时,需要考虑哪些问题呢?  Internet Explorer官网直接进入 IE浏览器在线体验版网址  如何在建站宝盒中设置产品搜索功能?  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  Android自定义控件实现温度旋转按钮效果