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.');