-
-
Notifications
You must be signed in to change notification settings - Fork 87
Description
Hello,
Our CI failed recently (with new 12.5.23 version) with the same error mentionned last week here : #285 (comment) with Fatal error: Uncaught Error: Class "Normalizer" not found in /builds/.../vendor/symplify/easy-coding-standard/vendor/symfony/string/AbstractUnicodeString.php:29
in an environment without php-intl installed.
If we add in require-dev
both symfony/polyfill-intl-grapheme
and symfony/polyfill-intl-normalizer
, alongside the required "symplify/easy-coding-standard": "^12.1"
the fatal disapear.
It’s seems related to #284.
ECS should require those polyfill, as there is symfony/string required in the 12.5.23 version, but it wasn’t here in 12.5.20…
Maybe, you simply need to remove these polyfill from the "replace" key of composer.json like you did in #284 with symfony/string ?
"replace": {
- "symfony/polyfill-intl-grapheme": "*",
"symfony/polyfill-ctype": "*",
- "symfony/polyfill-intl-normalizer": "*",
"symfony/event-dispatcher": "7.*",
"symfony/process": "7.*",
"symfony/stopwatch": "7.*"
},
And thank you for your great tool !
Backtrace of the fatal error.
$ php vendor/bin/ecs check
Fatal error: Uncaught Error: Class "Normalizer" not found in xxx/vendor/symplify/easy-coding-standard/vendor/symfony/string/AbstractUnicodeString.php:29
Stack trace:
#0 xxx/vendor/symplify/easy-coding-standard/vendor/symfony/console/Helper/Helper.php(46): [constant expression]()
#1 xxx/vendor/symplify/easy-coding-standard/vendor/symfony/console/Helper/ProgressBar.php(421): ECSPrefix202508\Symfony\Component\Console\Helper\Helper::width('673')
#2 xxx/vendor/symplify/easy-coding-standard/vendor/symfony/console/Helper/ProgressBar.php(148): ECSPrefix202508\Symfony\Component\Console\Helper\ProgressBar->setMaxSteps(673)
#3 xxx/vendor/symplify/easy-coding-standard/vendor/symfony/console/Style/OutputStyle.php(41): ECSPrefix202508\Symfony\Component\Console\Helper\ProgressBar->__construct(Object(ECSPrefix202508\Symfony\Component\Console\Output\StreamOutput), 673)
#4 xxx/vendor/symplify/easy-coding-standard/vendor/symfony/console/Style/SymfonyStyle.php(303): ECSPrefix202508\Symfony\Component\Console\Style\OutputStyle->createProgressBar(673)
#5 xxx/vendor/symplify/easy-coding-standard/vendor/symfony/console/Style/SymfonyStyle.php(282): ECSPrefix202508\Symfony\Component\Console\Style\SymfonyStyle->createProgressBar(673)
#6 xxx/vendor/symplify/easy-coding-standard/src/Application/EasyCodingStandardApplication.php(123): ECSPrefix202508\Symfony\Component\Console\Style\SymfonyStyle->progressStart(673)
#7 xxx/vendor/symplify/easy-coding-standard/src/Parallel/Application/ParallelFileProcessor.php(130): Symplify\EasyCodingStandard\Application\EasyCodingStandardApplication->{closure:Symplify\EasyCodingStandard\Application\EasyCodingStandardApplication::run():117}(20)
#8 xxx/vendor/symplify/easy-coding-standard/vendor/symplify/easy-parallel/src/ValueObject/ParallelProcess.php(130): Symplify\EasyCodingStandard\Parallel\Application\ParallelFileProcessor->{closure:Symplify\EasyCodingStandard\Parallel\Application\ParallelFileProcessor::check():115}(Array)
#9 xxx/vendor/symplify/easy-coding-standard/vendor/evenement/evenement/src/EventEmitterTrait.php(111): ECSPrefix202508\Symplify\EasyParallel\ValueObject\ParallelProcess->{closure:ECSPrefix202508\Symplify\EasyParallel\ValueObject\ParallelProcess::bindConnection():124}(Array)
#10 xxx/vendor/symplify/easy-coding-standard/vendor/clue/ndjson-react/src/Decoder.php(117): ECSPrefix202508\Evenement\EventEmitter->emit('data', Array)
#11 xxx/vendor/symplify/easy-coding-standard/vendor/evenement/evenement/src/EventEmitterTrait.php(111): ECSPrefix202508\Clue\React\NDJson\Decoder->handleData(Array)
#12 xxx/vendor/symplify/easy-coding-standard/vendor/react/stream/src/Util.php(62): ECSPrefix202508\Evenement\EventEmitter->emit('data', Array)
#13 xxx/vendor/symplify/easy-coding-standard/vendor/evenement/evenement/src/EventEmitterTrait.php(111): ECSPrefix202508\React\Stream\Util::{closure:ECSPrefix202508\React\Stream\Util::forwardEvents():61}('{"action":"resu...')
#14 xxx/vendor/symplify/easy-coding-standard/vendor/react/stream/src/DuplexResourceStream.php(168): ECSPrefix202508\Evenement\EventEmitter->emit('data', Array)
#15 xxx/vendor/symplify/easy-coding-standard/vendor/react/event-loop/src/StreamSelectLoop.php(201): ECSPrefix202508\React\Stream\DuplexResourceStream->handleData(Resource id #1276)
#16 xxx/vendor/symplify/easy-coding-standard/vendor/react/event-loop/src/StreamSelectLoop.php(173): ECSPrefix202508\React\EventLoop\StreamSelectLoop->waitForStreamActivity(100000)
#17 xxx/vendor/symplify/easy-coding-standard/src/Parallel/Application/ParallelFileProcessor.php(159): ECSPrefix202508\React\EventLoop\StreamSelectLoop->run()
#18 xxx/vendor/symplify/easy-coding-standard/src/Application/EasyCodingStandardApplication.php(134): Symplify\EasyCodingStandard\Parallel\Application\ParallelFileProcessor->check(Object(ECSPrefix202508\Symplify\EasyParallel\ValueObject\Schedule), 'vendor/bin/ecs', Object(Closure), NULL, Object(ECSPrefix202508\Symfony\Component\Console\Input\ArgvInput))
#19 xxx/vendor/symplify/easy-coding-standard/src/Console/Command/CheckCommand.php(64): Symplify\EasyCodingStandard\Application\EasyCodingStandardApplication->run(Object(Symplify\EasyCodingStandard\ValueObject\Configuration), Object(ECSPrefix202508\Symfony\Component\Console\Input\ArgvInput))
#20 xxx/vendor/symplify/easy-coding-standard/vendor/symfony/console/Command/Command.php(327): Symplify\EasyCodingStandard\Console\Command\CheckCommand->execute(Object(ECSPrefix202508\Symfony\Component\Console\Input\ArgvInput), Object(ECSPrefix202508\Symfony\Component\Console\Output\ConsoleOutput))
#21 xxx/vendor/symplify/easy-coding-standard/vendor/symfony/console/Application.php(960): ECSPrefix202508\Symfony\Component\Console\Command\Command->run(Object(ECSPrefix202508\Symfony\Component\Console\Input\ArgvInput), Object(ECSPrefix202508\Symfony\Component\Console\Output\ConsoleOutput))
#22 xxx/vendor/symplify/easy-coding-standard/vendor/symfony/console/Application.php(333): ECSPrefix202508\Symfony\Component\Console\Application->doRunCommand(Object(Symplify\EasyCodingStandard\Console\Command\CheckCommand), Object(ECSPrefix202508\Symfony\Component\Console\Input\ArgvInput), Object(ECSPrefix202508\Symfony\Component\Console\Output\ConsoleOutput))
#23 xxx/vendor/symplify/easy-coding-standard/src/Console/EasyCodingStandardConsoleApplication.php(50): ECSPrefix202508\Symfony\Component\Console\Application->doRun(Object(ECSPrefix202508\Symfony\Component\Console\Input\ArgvInput), Object(ECSPrefix202508\Symfony\Component\Console\Output\ConsoleOutput))
#24 xxx/vendor/symplify/easy-coding-standard/vendor/symfony/console/Application.php(216): Symplify\EasyCodingStandard\Console\EasyCodingStandardConsoleApplication->doRun(Object(ECSPrefix202508\Symfony\Component\Console\Input\ArgvInput), Object(ECSPrefix202508\Symfony\Component\Console\Output\ConsoleOutput))
#25 xxx/vendor/symplify/easy-coding-standard/bin/ecs.php(136): ECSPrefix202508\Symfony\Component\Console\Application->run()
#26 xxx/vendor/symplify/easy-coding-standard/bin/ecs(5): require('/builds/spip/ec...')
#27 xxx/vendor/bin/ecs(119): include('/builds/spip/ec...')
#28 {main}
thrown in xxx/vendor/symplify/easy-coding-standard/vendor/symfony/string/AbstractUnicodeString.php on line 29