diff --git a/src/Composer/Command/RequireCommand.php b/src/Composer/Command/RequireCommand.php index af16a3898..48851c28d 100644 --- a/src/Composer/Command/RequireCommand.php +++ b/src/Composer/Command/RequireCommand.php @@ -236,7 +236,6 @@ EOT ->setClassMapAuthoritative($authoritative) ->setApcuAutoloader($apcu) ->setUpdate(true) - ->setUpdateWhitelist(array_keys($requirements)) ->setWhitelistTransitiveDependencies($input->getOption('update-with-dependencies')) ->setWhitelistAllDependencies($input->getOption('update-with-all-dependencies')) ->setIgnorePlatformRequirements($input->getOption('ignore-platform-reqs')) @@ -244,6 +243,12 @@ EOT ->setPreferLowest($input->getOption('prefer-lowest')) ; + // if no lock is present, or the file is brand new, we do not do a + // partial update as this is not supported by the Installer + if (!$this->newlyCreated && $composer->getConfig()->get('lock')) { + $install->setUpdateWhitelist(array_keys($requirements)); + } + $status = $install->run(); if ($status !== 0) { $this->revertComposerFile(false);