当我 运行 composer 命令时,Symfony 传递 -env 参数
Symfony pass -env parameter when I run composer commands
当我为我的项目创建 docker 入口点脚本时,我 运行:
php /bin/composer install --no-dev
但是抛出的异常是:
Fatal error: Uncaught Symfony\Component\Debug\Exception\ClassNotFoundException: Attempted to load class "AjglBreakpointTwigExtensionBundle" from namespace "Ajgl\Twig\Extension\SymfonyBundle".
AppKernel.php
上初始化包的代码是:
public function registerBundles()
{
//Other Bundle initialization
if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
$bundles[] = new Ajgl\Twig\Extension\SymfonyBundle\AjglBreakpointTwigExtensionBundle();
}
return $bundles;
}
我在 dev
和 test
环境中使用了这个包。我构建的容器用于生产。
因此,我想以某种方式让 ScriptHandlers 在 composer 执行时,在 prod
环境而不是 dev
环境中 运行 来抑制错误消息?
我想这是 问题的重复。
只需将 SYMFONY_ENV
变量设置为 prod
并使用 composer install
然后:
SYMFONY_ENV=prod php /bin/composer install --no-dev
当我为我的项目创建 docker 入口点脚本时,我 运行:
php /bin/composer install --no-dev
但是抛出的异常是:
Fatal error: Uncaught Symfony\Component\Debug\Exception\ClassNotFoundException: Attempted to load class "AjglBreakpointTwigExtensionBundle" from namespace "Ajgl\Twig\Extension\SymfonyBundle".
AppKernel.php
上初始化包的代码是:
public function registerBundles()
{
//Other Bundle initialization
if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
$bundles[] = new Ajgl\Twig\Extension\SymfonyBundle\AjglBreakpointTwigExtensionBundle();
}
return $bundles;
}
我在 dev
和 test
环境中使用了这个包。我构建的容器用于生产。
因此,我想以某种方式让 ScriptHandlers 在 composer 执行时,在 prod
环境而不是 dev
环境中 运行 来抑制错误消息?
我想这是
只需将 SYMFONY_ENV
变量设置为 prod
并使用 composer install
然后:
SYMFONY_ENV=prod php /bin/composer install --no-dev