一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Symfony CLI与Composer create-project安装方式优劣对比-汇总

时间:2026-06-20 10:10:59 编辑:袖梨 来源:一聚教程网

唯一推荐方式是composer create-project,它克隆官方骨架仓库(如symfony/skeleton或website-skeleton),自动生成完整目录结构、安装依赖、注入Flex配置并就位核心文件;Symfony CLI(含symfony new)自6.2起已废弃,不可用于新项目初始化。

现在装 Symfony 项目,唯一推荐的方式是 composer create-project。Symfony CLI(包括 symfony new)已全面废弃,不再适用于新项目初始化。

Composer create-project 是当前标准做法

这条命令不是“安装框架”,而是克隆并初始化一个官方预配置的骨架仓库(如 symfony/skeletonsymfony/website-skeleton),自动完成:

  • 完整目录结构生成(含 src/config/public/bin/console 等)
  • 依赖自动安装与自动加载注册
  • Flex recipes 注入(如生成 config/packages/framework.yaml
  • 基础环境文件(.env)和内核类(src/Kernel.php)就位

Symfony CLI 已被官方弃用

自 Symfony 6.2 起,Symfony CLI 工具被标记为 deprecated,且不随 Composer 自动安装。常见问题包括:

  • 本地未安装 CLI 时执行 symfony new 直接报 command not found
  • 即使装了,也无法精确锁定小版本(例如指定 6.4.*,可能拉到 7.0.x
  • 生成的项目常缺 src/AppKernelbin/console,运行即报错

选骨架还是选完整版?按需决定

两者都通过 create-project 命令使用,区别在预装组件:

  • symfony/skeleton:最小化 API / 微服务起点,无 Twig、无 Doctrine、无 Web 服务器支持,启动快、依赖干净
  • symfony/website-skeleton:传统 Web 应用首选,自带 Twig、WebProfiler、AssetMapper 和基础构建能力,开箱即用欢迎页
  • 想锁定 LTS 版本?加 --version=6.4.*:^6.4,避免拉到 alpha/beta 分支

装完必须补做的三件事

跑完 create-project 后,项目还不能直接运行,务必立即执行:

  • 手动运行 composer install:确保 Flex recipes 正确注入、vendor/autoload.php 生成成功
  • 检查 .env 文件中 APP_ENV=dev(开发)或 APP_ENV=prod(上线前)是否设置正确
  • 首次运行前清缓存:php bin/console cache:clear,尤其在 WSL/Docker 环境下避免权限错误

热门栏目