要新建 symfony 6.4 项目,推荐用 composer create-project symfony/website-skeleton myapp --version=6.4. --prefer-dist(web 应用)或 symfony/skeleton(api),避免误装 7.x;cli 需手动 composer require symfony/framework-bundle:6.4. --update-with-dependencies;务必核对骨架、版本约束与安装完整性。

要明确指定 Symfony 6 版本(如 6.4)新建项目,关键在于版本约束必须写对、骨架选准、且避免拉到 7.x 预发版。不加约束或写法不当,很容易装上不稳定或不兼容的版本。
用 composer create-project 指定 6.4
这是最直接、兼容性最好的方式,尤其适合需要精确控制依赖的场景:
- Web 应用(带 Twig、Doctrine、Profiler 等): composer create-project symfony/website-skeleton myapp --version=6.4.* --prefer-dist
- API/微服务应用(精简无模板、无 Web Profiler): composer create-project symfony/skeleton myapi --version=6.4.* --prefer-dist
- 注意:
--version=6.4.*是推荐写法;写成6.4或^6.4也有效,但6.4.*更清晰匹配所有 6.4.x 小版本 - 务必加上
--prefer-dist,加速安装,避免 Git 克隆超时
用 Symfony CLI 指定 6.4(需手动干预)
Symfony CLI 的 symfony new 默认拉最新稳定版,不支持直接传 --version 参数。但可通过以下方式确保得到 6.4:
- 先创建项目(CLI 自动选 website-skeleton): symfony new myweb --webapp
- 进入目录后,强制重装为 6.4: cd myweb && composer require symfony/framework-bundle:6.4.* --update-with-dependencies
- 该命令会把核心组件降级/升级到 6.4.x,并同步调整其他兼容依赖(如 doctrine/doctrine-bundle、twig/twig 等)
- 执行
php bin/console about确认显示Symfony 6.4.x
常见错误与避坑提示
这些细节容易忽略,却常导致环境异常或文档失效:
-
别漏掉
--version=6.4.*:不加可能拉到 7.0.x-dev,Bundle 报错、配置键名变更、文档全对不上 -
别混用骨架和版本:比如对
symfony/skeleton加--webapp参数会失败——CLI 的--webapp只作用于symfony new,不适用于create-project -
检查 twig.yaml 和 templates/ 是否存在:用
website-skeleton却没生成这些,说明安装中断,建议删掉重来,不要强行补文件 - Windows 用户若用 CLI,确认已下载并运行了 Symfony Windows 版安装包(v5.17.1),旧版 CLI 不支持 6.4 的 Flex 自动配置











