エラーの概要
composer installを実行しようとすると、以下のようなエラーが発生しました。
PHP Fatal error: Uncaught ArgumentCountError: array_merge() does not accept unknown named parameters in phar:///usr/local/bin/composer/src/Composer/DependencyResolver/DefaultPolicy.php:84 Stack trace: #0 [internal function]: array_merge(php/php-oracle-extension: Array) #1 phar:///usr/local/bin/composer/src/Composer/DependencyResolver/DefaultPolicy.php(84): call_user_func_array('array_merge', Array) #2 phar:///usr/local/bin/composer/src/Composer/Installer.php(1058): Composer\DependencyResolver\DefaultPolicy->selectPreferredPackages(Object(Composer\DependencyResolver\Pool), Array, Array) #3 phar:///usr/local/bin/composer/src/Composer/Installer.php(483): Composer\Installer->processDevPackages(Object(Composer\Repository\InstalledFilesystemRepository), Object(Composer\DependencyResolver\Pool), Object(Composer\DependencyResolver\DefaultPolicy), Array, Object(Composer\Repository\CompositeRepository), NULL, 'force-links') #4 phar:///usr/local/bin/composer/src/Composer/Installer.php(232): Composer\Installer->doInstall(Object(Composer\Repository\InstalledFilesystemRepository), Object(Composer\Repository\CompositeRepository), Object(Composer\Repository\PlatformRepository), Array) #5 phar:///usr/local/bin/composer/src/Composer/Command/UpdateCommand.php(163): Composer\Installer->run() #6 phar:///usr/local/bin/composer/vendor/symfony/console/Command/Command.php(245): Composer\Command\UpdateCommand->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #7 phar:///usr/local/bin/composer/vendor/symfony/console/Application.php(835): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #8 phar:///usr/local/bin/composer/vendor/symfony/console/Application.php(185): Symfony\Component\Console\Application->doRunCommand(Object(Composer\Command\UpdateCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #9 phar:///usr/local/bin/composer/src/Composer/Console/Application.php(281): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #10 phar:///usr/local/bin/composer/vendor/symfony/console/Application.php(117): Composer\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #11 phar:///usr/local/bin/composer/src/Composer/Console/Application.php(113): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #12 phar:///usr/local/bin/composer/bin/composer(61): Composer\Console\Application->run() #13 /usr/local/bin/composer(24): require('phar:///usr/loc...') #14 {main} thrown in phar:///usr/local/bin/composer/src/Composer/DependencyResolver/DefaultPolicy.php on line 84 Fatal error: Uncaught ArgumentCountError: array_merge() does not accept unknown named parameters in phar:///usr/local/bin/composer/src/Composer/DependencyResolver/DefaultPolicy.php:84 Stack trace: #0 [internal function]: array_merge(php/php-oracle-extension: Array) #1 phar:///usr/local/bin/composer/src/Composer/DependencyResolver/DefaultPolicy.php(84): call_user_func_array('array_merge', Array) #2 phar:///usr/local/bin/composer/src/Composer/Installer.php(1058): Composer\DependencyResolver\DefaultPolicy->selectPreferredPackages(Object(Composer\DependencyResolver\Pool), Array, Array) #3 phar:///usr/local/bin/composer/src/Composer/Installer.php(483): Composer\Installer->processDevPackages(Object(Composer\Repository\InstalledFilesystemRepository), Object(Composer\DependencyResolver\Pool), Object(Composer\DependencyResolver\DefaultPolicy), Array, Object(Composer\Repository\CompositeRepository), NULL, 'force-links') #4 phar:///usr/local/bin/composer/src/Composer/Installer.php(232): Composer\Installer->doInstall(Object(Composer\Repository\InstalledFilesystemRepository), Object(Composer\Repository\CompositeRepository), Object(Composer\Repository\PlatformRepository), Array) #5 phar:///usr/local/bin/composer/src/Composer/Command/UpdateCommand.php(163): Composer\Installer->run() #6 phar:///usr/local/bin/composer/vendor/symfony/console/Command/Command.php(245): Composer\Command\UpdateCommand->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #7 phar:///usr/local/bin/composer/vendor/symfony/console/Application.php(835): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #8 phar:///usr/local/bin/composer/vendor/symfony/console/Application.php(185): Symfony\Component\Console\Application->doRunCommand(Object(Composer\Command\UpdateCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #9 phar:///usr/local/bin/composer/src/Composer/Console/Application.php(281): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #10 phar:///usr/local/bin/composer/vendor/symfony/console/Application.php(117): Composer\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #11 phar:///usr/local/bin/composer/src/Composer/Console/Application.php(113): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #12 phar:///usr/local/bin/composer/bin/composer(61): Composer\Console\Application->run() #13 /usr/local/bin/composer(24): require('phar:///usr/loc...') #14 {main} thrown in phar:///usr/local/bin/composer/src/Composer/DependencyResolver/DefaultPolicy.php on line 84
解決方法
以下のコマンドを実行することで解決できました。
composer self-update
解説
コマンドを見れば分かりますが、composer自体のバージョンが古かったのが原因でした。
そのため、上記コマンドでcomposerのバージョンを上げることで解決できました。