From 87006774b1a89cee6b1a8625443e6aa3cc953729 Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Wed, 11 Nov 2020 14:46:10 +0100 Subject: [PATCH] Avoid requiring a lock file to run composer remove, fixes #9439 --- src/Composer/Command/RemoveCommand.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Composer/Command/RemoveCommand.php b/src/Composer/Command/RemoveCommand.php index d761930af..f4e65d1b4 100644 --- a/src/Composer/Command/RemoveCommand.php +++ b/src/Composer/Command/RemoveCommand.php @@ -253,13 +253,18 @@ EOT ->setApcuAutoloader($apcu, $apcuPrefix) ->setUpdate(true) ->setInstall(!$input->getOption('no-install')) - ->setUpdateAllowList($packages) ->setUpdateAllowTransitiveDependencies($updateAllowTransitiveDependencies) ->setIgnorePlatformRequirements($ignorePlatformReqs) ->setRunScripts(!$input->getOption('no-scripts')) ->setDryRun($dryRun) ; + // if no lock is present, we do not do a partial update as + // this is not supported by the Installer + if ($composer->getLocker()->isLocked()) { + $install->setUpdateAllowList($packages); + } + $status = $install->run(); if ($status !== 0) { $io->writeError("\n".'Removal failed, reverting '.$file.' to its original content.');