最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
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/skeleton 或 symfony/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/、AppKernel或bin/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 环境下避免权限错误