rector-symfony: trying to run AddRouteAnnotationRector throws BindingResolutionException
my rector.php
looks like this:
return function (RectorConfig $rectorConfig): void {
$rectorConfig->symfonyContainerPhp(__DIR__ . '/bin/symfony-container.php');
$rectorConfig->rule(AddRouteAnnotationRector::class);
}
I added symfonyContainerPhp
as stated here. symfony-container.php
looks like this:
<?php
declare(strict_types=1);
use Product\Kernel;
require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
$appKernel = new Kernel('test', false);
$appKernel->boot();
return $appKernel->getContainer();
Now running vendor/bin/rector process some/path
results in:
PHP Fatal error: Uncaught RectorPrefix202308\Illuminate\Contracts\Container\BindingResolutionException: Target [Rector\Symfony\Contract\Bridge\Symfony\Routing\SymfonyRoutesProviderInterface] is not instantiable while building [Rector\Core\Console\ConsoleApplication, Rector\Core\Console\Command\ProcessCommand, Rector\Core\Configuration\ConfigInitializer, Rector\Symfony\Configs\Rector\ClassMethod\AddRouteAnnotationRector]. in /app/vendor/rector/rector/vendor/illuminate/container/Container.php:958
Stack trace:
#0 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(796): RectorPrefix202308\Illuminate\Container\Container->notInstantiable()
#1 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(687): RectorPrefix202308\Illuminate\Container\Container->build()
#2 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(634): RectorPrefix202308\Illuminate\Container\Container->resolve()
#3 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(912): RectorPrefix202308\Illuminate\Container\Container->make()
#4 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(842): RectorPrefix202308\Illuminate\Container\Container->resolveClass()
#5 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(812): RectorPrefix202308\Illuminate\Container\Container->resolveDependencies()
#6 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(252): RectorPrefix202308\Illuminate\Container\Container->build()
#7 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(785): RectorPrefix202308\Illuminate\Container\Container->RectorPrefix202308\Illuminate\Container\{closure}()
#8 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(687): RectorPrefix202308\Illuminate\Container\Container->build()
#9 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(634): RectorPrefix202308\Illuminate\Container\Container->resolve()
#10 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(471): RectorPrefix202308\Illuminate\Container\Container->make()
#11 [internal function]: RectorPrefix202308\Illuminate\Container\Container->RectorPrefix202308\Illuminate\Container\{closure}()
#12 /app/vendor/rector/rector/vendor/illuminate/container/ContextualBindingBuilder.php(72): iterator_to_array()
#13 /app/vendor/rector/rector/vendor/illuminate/container/Util.php(38): RectorPrefix202308\Illuminate\Container\ContextualBindingBuilder->RectorPrefix202308\Illuminate\Container\{closure}()
#14 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(891): RectorPrefix202308\Illuminate\Container\Util::unwrapIfClosure()
#15 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(842): RectorPrefix202308\Illuminate\Container\Container->resolvePrimitive()
#16 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(812): RectorPrefix202308\Illuminate\Container\Container->resolveDependencies()
#17 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(687): RectorPrefix202308\Illuminate\Container\Container->build()
#18 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(634): RectorPrefix202308\Illuminate\Container\Container->resolve()
#19 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(912): RectorPrefix202308\Illuminate\Container\Container->make()
#20 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(842): RectorPrefix202308\Illuminate\Container\Container->resolveClass()
#21 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(812): RectorPrefix202308\Illuminate\Container\Container->resolveDependencies()
#22 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(687): RectorPrefix202308\Illuminate\Container\Container->build()
#23 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(634): RectorPrefix202308\Illuminate\Container\Container->resolve()
#24 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(471): RectorPrefix202308\Illuminate\Container\Container->make()
#25 [internal function]: RectorPrefix202308\Illuminate\Container\Container->RectorPrefix202308\Illuminate\Container\{closure}()
#26 /app/vendor/rector/rector/vendor/illuminate/container/ContextualBindingBuilder.php(72): iterator_to_array()
#27 /app/vendor/rector/rector/vendor/illuminate/container/Util.php(38): RectorPrefix202308\Illuminate\Container\ContextualBindingBuilder->RectorPrefix202308\Illuminate\Container\{closure}()
#28 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(891): RectorPrefix202308\Illuminate\Container\Util::unwrapIfClosure()
#29 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(842): RectorPrefix202308\Illuminate\Container\Container->resolvePrimitive()
#30 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(812): RectorPrefix202308\Illuminate\Container\Container->resolveDependencies()
#31 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(252): RectorPrefix202308\Illuminate\Container\Container->build()
#32 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(785): RectorPrefix202308\Illuminate\Container\Container->RectorPrefix202308\Illuminate\Container\{closure}()
#33 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(687): RectorPrefix202308\Illuminate\Container\Container->build()
#34 /app/vendor/rector/rector/vendor/illuminate/container/Container.php(644): RectorPrefix202308\Illuminate\Container\Container->resolve()
#35 /app/vendor/rector/rector/bin/rector.php(131): RectorPrefix202308\Illuminate\Container\Container->get()
#36 /app/vendor/rector/rector/bin/rector(5): require_once('...')
#37 /app/vendor/bin/rector(119): include('...')
#38 {main}
thrown in /app/vendor/rector/rector/vendor/illuminate/container/Container.php on line 958
Running any other rules/sets is no problem.
I get the same error even if I omit the symfonyContainerPhp
line. I also tried adding symfonyContainerXml
to the setup, but no luck.
I don’t have any other rector configs apart from that rector.php
file. My project is running on symfony flex for symfony version 6.0
About this issue
- Original URL
- State: closed
- Created 10 months ago
- Comments: 17 (12 by maintainers)
@samsonasik Ah, my bad 😆 I meant the
alias()
as a solution, but made a typo.perfect, now the rule is applying