Magento 2: Fix for error „Composer\Repository\ArrayRepository::count() should either be compatible with Countable::count()“ after upgrade to 2.4.4 with PHP 8.1/8.2

The following error occurs

# bin/magento setup:upgrade
PHP Fatal error:  During inheritance of Countable: Uncaught Exception: Deprecated Functionality: Return type of Composer\Repository\ArrayRepository::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /srv/www/htdocs/vendor/composer/composer/src/Composer/Repository/ArrayRepository.php on line 277 in /srv/www/htdocs/vendor/magento/framework/App/ErrorHandler.php:62
Stack trace:
#0 /srv/www/htdocs/vendor/composer/composer/src/Composer/Repository/ArrayRepository.php(28): Magento\Framework\App\ErrorHandler->handler()
#1 /srv/www/htdocs/vendor/composer/ClassLoader.php(576): include('...')
#2 /srv/www/htdocs/vendor/composer/ClassLoader.php(427): Composer\Autoload\{closure}()
#3 /srv/www/htdocs/vendor/composer/composer/src/Composer/Repository/PlatformRepository.php(31): Composer\Autoload\ClassLoader->loadClass()
#4 /srv/www/htdocs/vendor/composer/ClassLoader.php(576): include('...')
#5 /srv/www/htdocs/vendor/composer/ClassLoader.php(427): Composer\Autoload\{closure}()
#6 /srv/www/htdocs/vendor/composer/composer/src/Composer/Package/Loader/ValidatingArrayLoader.php(375): Composer\Autoload\ClassLoader->loadClass()
#7 /srv/www/htdocs/vendor/composer/composer/src/Composer/Package/Loader/RootPackageLoader.php(70): Composer\Package\Loader\ValidatingArrayLoader::hasPackageNamingError()
#8 /srv/www/htdocs/vendor/composer/composer/src/Composer/Factory.php(368): Composer\Package\Loader\RootPackageLoader->load()
#9 /srv/www/htdocs/vendor/composer/composer/src/Composer/Factory.php(595): Composer\Factory->createComposer()
#10 /srv/www/htdocs/vendor/magento/framework/Composer/ComposerFactory.php(47): Composer\Factory::create()
#11 /srv/www/htdocs/vendor/magento/framework/Composer/ComposerInformation.php(368): Magento\Framework\Composer\ComposerFactory->create()
#12 /srv/www/htdocs/vendor/magento/framework/Composer/ComposerInformation.php(381): Magento\Framework\Composer\ComposerInformation->getComposer()
#13 /srv/www/htdocs/vendor/magento/framework/Composer/ComposerInformation.php(244): Magento\Framework\Composer\ComposerInformation->getLocker()
#14 /srv/www/htdocs/vendor/magento/framework/App/ProductMetadata.php(120): Magento\Framework\Composer\ComposerInformation->getSystemPackages()
#15 /srv/www/htdocs/vendor/magento/framework/App/ProductMetadata.php(80): Magento\Framework\App\ProductMetadata->getSystemPackageVersion()
#16 /srv/www/htdocs/vendor/magento/framework/Console/Cli.php(99): Magento\Framework\App\ProductMetadata->getVersion()
#17 /srv/www/htdocs/bin/magento(22): Magento\Framework\Console\Cli->__construct()
#18 {main} in /srv/www/htdocs/vendor/composer/composer/src/Composer/Repository/ArrayRepository.php on line 28

The cause of the problem are outdated composer.json entries in the dev section. This keeps the composer/composer package at an old state.

composer rem friendsofphp/php-cs-fixer
composer rem phpmd/phpmd
composer update -W

This should then lead to:

Loading composer repositories with package information
Updating dependencies
Lock file operations: 3 installs, 3 updates, 0 removals
  - Locking composer/class-map-generator (1.1.0)
  - Upgrading composer/composer (2.0.13 => 2.6.3)
  - Locking composer/pcre (3.1.0)
  - Upgrading composer/xdebug-handler (1.4.6 => 3.0.3)
  - Locking seld/signal-handler (2.0.2)
  - Upgrading symfony/finder (v5.4.27 => v6.3.3)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 3 installs, 3 updates, 0 removals
  - Downloading symfony/finder (v6.3.3)
  - Downloading composer/pcre (3.1.0)
  - Downloading composer/class-map-generator (1.1.0)
  - Downloading composer/xdebug-handler (3.0.3)
  - Downloading seld/signal-handler (2.0.2)
  - Downloading composer/composer (2.6.3)
  - Upgrading symfony/finder (v5.4.27 => v6.3.3): Extracting archive
  - Installing composer/pcre (3.1.0): Extracting archive
  - Installing composer/class-map-generator (1.1.0): Extracting archive
  - Upgrading composer/xdebug-handler (1.4.6 => 3.0.3): Extracting archive
  - Installing seld/signal-handler (2.0.2): Extracting archive
  - Upgrading composer/composer (2.0.13 => 2.6.3): Extracting archive

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Sven Wappler

TYPO3 Experte, symfony, Magento, SEO, Frontend und Backend

Das könnte dich auch interessieren …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert