Closed romainpoirier closed 2 years ago
Search for that error in storage/logs/
. Does it include a stack trace? If so please post it.
Sorry for not being much clearer.
After deleting the project, downloading it again from the repository, reset my MAMP, and I can now run composer update
or ./craft update/update
or composer install
all without any error.
But ./craft update/composer-install
is still returning this:
Performing Composer install ... error: array_merge(): Expected parameter 1 to be an array, bool given
Output:
And here is the stack trace:
2022-07-04 09:19:22 [-][-][-][trace][yii\base\Application::bootstrap] Bootstrap with yii\shell\Bootstrap::bootstrap()
2022-07-04 09:19:22 [-][-][-][trace][yii\base\Application::bootstrap] Bootstrap with craft\queue\Queue::bootstrap()
2022-07-04 09:19:22 [-][-][-][trace][yii\base\Module::getModule] Loading module: utilities-module
2022-07-04 09:19:22 [-][-][-][info][modules\utilitiesmodule\UtilitiesModule::init] Utilities module loaded
2022-07-04 09:19:22 [-][-][-][trace][yii\base\Application::bootstrap] Bootstrap with modules\utilitiesmodule\UtilitiesModule
2022-07-04 09:19:22 [-][-][-][info][yii\db\Connection::open] Opening DB connection: mysql:host=localhost;dbname=website;port=3306
2022-07-04 09:19:22 [-][-][-][profile begin][yii\db\Connection::open] Opening DB connection: mysql:host=localhost;dbname=website;port=3306
2022-07-04 09:19:22 [-][-][-][profile end][yii\db\Connection::open] Opening DB connection: mysql:host=localhost;dbname=website;port=3306
2022-07-04 09:19:22 [-][-][-][info][yii\db\Command::query] SELECT *
FROM `craft_info`
WHERE `id`=1
LIMIT 1
2022-07-04 09:19:22 [-][-][-][profile begin][yii\db\Command::query] SELECT *
FROM `craft_info`
WHERE `id`=1
LIMIT 1
2022-07-04 09:19:22 [-][-][-][profile end][yii\db\Command::query] SELECT *
FROM `craft_info`
WHERE `id`=1
LIMIT 1
2022-07-04 09:19:22 [-][-][-][info][yii\db\Command::query] SELECT `id`, `handle`, `version`, `schemaVersion`, `licenseKeyStatus`, `installDate`, `licensedEdition`
FROM `craft_plugins`
ORDER BY `handle`
2022-07-04 09:19:22 [-][-][-][profile begin][yii\db\Command::query] SELECT `id`, `handle`, `version`, `schemaVersion`, `licenseKeyStatus`, `installDate`, `licensedEdition`
FROM `craft_plugins`
ORDER BY `handle`
2022-07-04 09:19:22 [-][-][-][profile end][yii\db\Command::query] SELECT `id`, `handle`, `version`, `schemaVersion`, `licenseKeyStatus`, `installDate`, `licensedEdition`
FROM `craft_plugins`
ORDER BY `handle`
2022-07-04 09:19:22 [-][-][-][info][mmikkel\cpfieldinspect\CpFieldInspect::init] CP Field Inspect plugin loaded
2022-07-04 09:19:22 [-][-][-][info][nystudio107\emptycoalesce\EmptyCoalesce::init] Empty Coalesce plugin loaded
2022-07-04 09:19:22 [-][-][-][info][nystudio107\minify\Minify::init] Minify plugin loaded
2022-07-04 09:19:22 [-][-][-][info][yii\db\Command::query] SHOW FULL COLUMNS FROM `craft_neoblocks`
2022-07-04 09:19:22 [-][-][-][profile begin][yii\db\Command::query] SHOW FULL COLUMNS FROM `craft_neoblocks`
2022-07-04 09:19:22 [-][-][-][profile end][yii\db\Command::query] SHOW FULL COLUMNS FROM `craft_neoblocks`
2022-07-04 09:19:22 [-][-][-][info][yii\db\Command::query] SELECT
`kcu`.`CONSTRAINT_NAME` AS `constraint_name`,
`kcu`.`COLUMN_NAME` AS `column_name`,
`kcu`.`REFERENCED_TABLE_NAME` AS `referenced_table_name`,
`kcu`.`REFERENCED_COLUMN_NAME` AS `referenced_column_name`,
`rc`.`DELETE_RULE`,
`rc`.`UPDATE_RULE`
FROM `information_schema`.`REFERENTIAL_CONSTRAINTS` AS `rc`
JOIN `information_schema`.`KEY_COLUMN_USAGE` AS `kcu` ON
(
`kcu`.`CONSTRAINT_CATALOG` = `rc`.`CONSTRAINT_CATALOG` OR
(`kcu`.`CONSTRAINT_CATALOG` IS NULL AND `rc`.`CONSTRAINT_CATALOG` IS NULL)
) AND
`kcu`.`CONSTRAINT_SCHEMA` = `rc`.`CONSTRAINT_SCHEMA` AND
`kcu`.`CONSTRAINT_NAME` = `rc`.`CONSTRAINT_NAME`
WHERE `rc`.`CONSTRAINT_SCHEMA` = database() AND `kcu`.`TABLE_SCHEMA` = database()
AND `rc`.`TABLE_NAME` = 'craft_neoblocks' AND `kcu`.`TABLE_NAME` = 'craft_neoblocks'
2022-07-04 09:19:22 [-][-][-][profile begin][yii\db\Command::query] SELECT
`kcu`.`CONSTRAINT_NAME` AS `constraint_name`,
`kcu`.`COLUMN_NAME` AS `column_name`,
`kcu`.`REFERENCED_TABLE_NAME` AS `referenced_table_name`,
`kcu`.`REFERENCED_COLUMN_NAME` AS `referenced_column_name`,
`rc`.`DELETE_RULE`,
`rc`.`UPDATE_RULE`
FROM `information_schema`.`REFERENTIAL_CONSTRAINTS` AS `rc`
JOIN `information_schema`.`KEY_COLUMN_USAGE` AS `kcu` ON
(
`kcu`.`CONSTRAINT_CATALOG` = `rc`.`CONSTRAINT_CATALOG` OR
(`kcu`.`CONSTRAINT_CATALOG` IS NULL AND `rc`.`CONSTRAINT_CATALOG` IS NULL)
) AND
`kcu`.`CONSTRAINT_SCHEMA` = `rc`.`CONSTRAINT_SCHEMA` AND
`kcu`.`CONSTRAINT_NAME` = `rc`.`CONSTRAINT_NAME`
WHERE `rc`.`CONSTRAINT_SCHEMA` = database() AND `kcu`.`TABLE_SCHEMA` = database()
AND `rc`.`TABLE_NAME` = 'craft_neoblocks' AND `kcu`.`TABLE_NAME` = 'craft_neoblocks'
2022-07-04 09:19:22 [-][-][-][profile end][yii\db\Command::query] SELECT
`kcu`.`CONSTRAINT_NAME` AS `constraint_name`,
`kcu`.`COLUMN_NAME` AS `column_name`,
`kcu`.`REFERENCED_TABLE_NAME` AS `referenced_table_name`,
`kcu`.`REFERENCED_COLUMN_NAME` AS `referenced_column_name`,
`rc`.`DELETE_RULE`,
`rc`.`UPDATE_RULE`
FROM `information_schema`.`REFERENTIAL_CONSTRAINTS` AS `rc`
JOIN `information_schema`.`KEY_COLUMN_USAGE` AS `kcu` ON
(
`kcu`.`CONSTRAINT_CATALOG` = `rc`.`CONSTRAINT_CATALOG` OR
(`kcu`.`CONSTRAINT_CATALOG` IS NULL AND `rc`.`CONSTRAINT_CATALOG` IS NULL)
) AND
`kcu`.`CONSTRAINT_SCHEMA` = `rc`.`CONSTRAINT_SCHEMA` AND
`kcu`.`CONSTRAINT_NAME` = `rc`.`CONSTRAINT_NAME`
WHERE `rc`.`CONSTRAINT_SCHEMA` = database() AND `kcu`.`TABLE_SCHEMA` = database()
AND `rc`.`TABLE_NAME` = 'craft_neoblocks' AND `kcu`.`TABLE_NAME` = 'craft_neoblocks'
2022-07-04 09:19:22 [-][-][-][info][miranj\obfuscator\Obfuscator::init] Obfuscator plugin loaded
2022-07-04 09:19:22 [-][-][-][info][mmikkel\retcon\Retcon::init] Retcon plugin loaded
2022-07-04 09:19:22 [-][-][-][info][nystudio107\typogrify\Typogrify::init] Typogrify plugin loaded
2022-07-04 09:19:22 [-][-][-][trace][yii\base\Controller::runAction] Route to run: update/composer-install
2022-07-04 09:19:22 [-][-][-][trace][yii\base\InlineAction::runWithParams] Running action: craft\console\controllers\UpdateController::actionComposerInstall()
2022-07-04 09:19:22 [-][-][-][error][yii\base\ErrorException:2] yii\base\ErrorException: array_merge(): Expected parameter 1 to be an array, bool given in /vendor/composer/composer/src/Composer/Config.php:191
Stack trace:
#0 [internal function]: yii\base\ErrorHandler->handleError(2, 'array_merge(): ...', '/Users/romainpo...', 191, Array)
#1 /vendor/composer/composer/src/Composer/Config.php(191): array_merge(true, Array, true)
#2 /vendor/composer/composer/src/Composer/Factory.php(350): Composer\Config->merge(Array, 'unknown')
#3 /vendor/composer/composer/src/Composer/Factory.php(646): Composer\Factory->createComposer(Object(Composer\IO\BufferIO), Array, false, '/Users/romainpo...', true, false)
#4 /vendor/craftcms/cms/src/services/Composer.php(539): Composer\Factory::create(Object(Composer\IO\BufferIO), Array)
#5 /vendor/craftcms/cms/src/services/Composer.php(170): craft\services\Composer->createComposer(Object(Composer\IO\BufferIO), '/Users/romainpo...')
#6 /vendor/craftcms/cms/src/console/controllers/UpdateController.php(200): craft\services\Composer->install(NULL, Object(Composer\IO\BufferIO))
#7 [internal function]: craft\console\controllers\UpdateController->actionComposerInstall()
#8 /vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)
#9 /vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams(Array)
#10 /vendor/yiisoft/yii2/console/Controller.php(182): yii\base\Controller->runAction('composer-instal...', Array)
#11 /vendor/craftcms/cms/src/console/Controller.php(221): yii\console\Controller->runAction('composer-instal...', Array)
#12 /vendor/yiisoft/yii2/base/Module.php(552): craft\console\Controller->runAction('composer-instal...', Array)
#13 /vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction('update/composer...', Array)
#14 /vendor/craftcms/cms/src/console/Application.php(89): yii\console\Application->runAction('update/composer...', Array)
#15 /vendor/yiisoft/yii2/console/Application.php(147): craft\console\Application->runAction('update/composer...', Array)
#16 /vendor/craftcms/cms/src/console/Application.php(118): yii\console\Application->handleRequest(Object(craft\console\Request))
#17 /vendor/yiisoft/yii2/base/Application.php(384): craft\console\Application->handleRequest(Object(craft\console\Request))
#18 /craft(13): yii\base\Application->run()
#19 {main}
2022-07-04 09:19:22 [-][-][-][info][application] $_GET = []
$_POST = []
$_FILES = []
$_COOKIE = []
$_SERVER = [
'TERM_SESSION_ID' => 'w0t1p0:784029B7-5BF3-4640-8A65-6D2D1DAEBD59'
'SSH_AUTH_SOCK' => '/private/tmp/com.apple.launchd.mRARANhEf3/Listeners'
'LC_TERMINAL_VERSION' => '3.4.15'
'COLORFGBG' => '7;0'
'ITERM_PROFILE' => 'Default'
'XPC_FLAGS' => '0x0'
'LANG' => 'fr_BE.UTF-8'
'PWD' => '/Users/romainpoirier/Documents/website.local'
'SHELL' => '/bin/zsh'
'__CFBundleIdentifier' => 'com.googlecode.iterm2'
'SECURITYSESSIONID' => '186b1'
'TERM_PROGRAM_VERSION' => '3.4.15'
'TERM_PROGRAM' => 'iTerm.app'
'PATH' => '/opt/homebrew/bin:/Applications/MAMP/bin/php/php7.4.25/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Applications/Postgres.app/Contents/Versions/latest/bin'
'LC_TERMINAL' => 'iTerm2'
'COLORTERM' => 'truecolor'
'COMMAND_MODE' => 'unix2003'
'TERM' => 'xterm-256color'
'HOME' => '/Users/romainpoirier'
'TMPDIR' => '/var/folders/0b/67vlxl057t7gs35y7z456gmw0000gn/T/'
'USER' => 'romainpoirier'
'XPC_SERVICE_NAME' => '0'
'LOGNAME' => 'romainpoirier'
'LaunchInstanceID' => 'BB11D6C7-19D3-4492-845C-FC91A2A4B6C8'
'__CF_USER_TEXT_ENCODING' => '0x1F5:0:0'
'ITERM_SESSION_ID' => 'w0t1p0:784029B7-5BF3-4640-8A65-6D2D1DAEBD59'
'SHLVL' => '1'
'OLDPWD' => '/Users/romainpoirier'
'_' => '/./craft'
'PHP_SELF' => './craft'
'SCRIPT_NAME' => './craft'
'SCRIPT_FILENAME' => './craft'
'PATH_TRANSLATED' => './craft'
'DOCUMENT_ROOT' => ''
'REQUEST_TIME_FLOAT' => 1656919162.4903
'REQUEST_TIME' => 1656919162
'argv' => [
0 => './craft'
1 => 'update/composer-install'
]
'argc' => 2
'ENVIRONMENT' => 'dev'
'APP_ID' => 'CraftCMS--fb0bea8c-1e71-4c80-ae8e-720070b947d0'
'SECURITY_KEY' => '••••••••••••••••••••••••••••••••'
'DB_DRIVER' => 'mysql'
'DB_SERVER' => 'localhost'
'DB_PORT' => '3306'
'DB_DATABASE' => 'website'
'DB_USER' => 'root'
'DB_PASSWORD' => '••••'
'DB_SCHEMA' => ''
'DB_TABLE_PREFIX' => 'craft_'
'CP_TRIGGER' => 'admin'
'ROOT_URL' => 'https://website.local'
'SITE_FR' => 'https://website.local/fr'
'SITE_NL' => 'https://website.local/nl'
'SITE_EN' => 'https://website.local/en'
'ASSETS_BASE_URL' => 'https://website.local/assets'
'SYSTEM_NAME' => 'Website'
'IS_SYSTEM_LIVE' => 'true'
'IMAGES_ENABLED' => 'true'
'IMAGER_TRANSFORM' => 'imgix'
'IMGIX_URL' => '••••••.imgix.net'
'HTML_EMAIL_TEMPLATE' => '_email'
'SYSTEM_EMAIL_ADDRESS' => '••••••@••••••'
'SYSTEM_NOREPLY_ADDRESS' => '••••••@••••••'
'SENDER_NAME' => '••••••'
'MANDRILL_API_KEY' => '••••••••••••••••••••••'
'MANDRILL_SUBACCOUNT' => '••••••'
'COLOR_BLACK' => '#000'
'COLOR_BLUE' => '#0047BB'
'COLOR_DARK_PINK' => '#840B55'
'COLOR_GREEN' => '#154734'
'COLOR_ORANGE' => '#FF5C39'
'COLOR_PINK' => '#F99FC9'
'COLOR_WHITE' => '#FFF'
'COLOR_YELLOW' => '#FFC658'
'BACKUP_COMMAND' => '/Applications/MAMP/Library/bin/mysqldump -h localhost -u root -proot --add-drop-table --comments --create-options --dump-date --no-autocommit --routines --set-charset --triggers --single-transaction --no-data --result-file=\"{file}\" {database} && /Applications/MAMP/Library/bin/mysqldump -h localhost -u root -proot --add-drop-table --comments --create-options --dump-date --no-autocommit --routines --set-charset --triggers --no-create-info --ignore-table={database}.assetindexdata --ignore-table={database}.assettransformindex --ignore-table={database}.cache --ignore-table={database}.sessions --ignore-table={database}.templatecaches --ignore-table={database}.templatecachecriteria --ignore-table={database}.templatecacheelements {database} >> \"{file}\"'
'RESTORE_COMMAND' => '/Applications/MAMP/Library/bin/mysql -h localhost -u root -proot {database} < \"{file}\"'
]
What is config
set to in composer.json
? Seems like it’s something Composer isn’t expecting.
This is the config:
"config": {
"allow-plugins": true,
"sort-packages": true,
"optimize-autoloader": true,
"platform": {
"php": "7.4"
}
},
Turns out that was a known Composer bug (composer/composer#10907) which was just fixed by Composer 2.2.15 three days ago 🎉
I’ve updated Craft’s internal copy of Composer to 2.2.15 for the next Craft 3 and 4 releases.
Craft 3.7.47 and 4.1.1 are both out with that update.
What happened?
Description
On update, I get this composer error:
error: array_merge(): Expected parameter 1 to be an array, bool given
This happens even if I try to update all, or if I try to update craft/plugins individually. Runningcomposer update
doesn't get this error.Steps to reproduce
./craft update/update all
or click the Update button in the CPCraft CMS version
3.7.45.2
PHP version
7.4.25
Operating system and version
Mac OS 12.3.1
Database type and version
MySQL 5.7.34
Image driver and version
Imagick 3.4.4 (ImageMagick 6.9.6-2)
Installed plugins and versions