symfony 6.4 找不到 dotenv:dump 命令
前两天初始化了一个新项目,使用的是全新的 symfony 6.4。由于使用了最小化的创建命令,导致很多非核心的组件没有安装,一个个安装完,修改好 .env 环境变量配置文件,在 dump 的时候报错:
$ APP_ENV=dev APP_DEBUG=1 php bin/console dotenv:dump
There are no commands defined in the "dotenv" namespace.
执行安装命令 composer require symfony/dotenv
的时候没有任何异常。于是一步步检查,最终发现了命令的注册有问题。
对照了一下老项目,发现问题就是没注册服务。
在 config/services.yaml
配置文件中,添加以下配置:
services:
# 注册 dotenv:dump 命令
Symfony\Component\Dotenv\Command\DotenvDumpCommand:
- '%kernel.project_dir%/.env'
- '%kernel.environment%'
再次执行,问题解决。