diff --git a/src/Composer/Command/Command.php b/src/Composer/Command/Command.php index 862b54e58..b99686219 100644 --- a/src/Composer/Command/Command.php +++ b/src/Composer/Command/Command.php @@ -68,6 +68,15 @@ abstract class Command extends BaseCommand $this->composer = $composer; } + /** + * Removes the cached composer instance + */ + public function resetComposer() + { + $this->composer = null; + $this->getApplication()->resetComposer(); + } + /** * @return IOInterface */ diff --git a/src/Composer/Command/RequireCommand.php b/src/Composer/Command/RequireCommand.php index f20c0420c..55e3752a9 100644 --- a/src/Composer/Command/RequireCommand.php +++ b/src/Composer/Command/RequireCommand.php @@ -125,6 +125,8 @@ EOT $updateDevMode = !$input->getOption('update-no-dev'); // Update packages + $this->resetComposer(); + $composer = $this->getComposer(); $composer->getDownloadManager()->setOutputProgress(!$input->getOption('no-progress')); $io = $this->getIO(); diff --git a/src/Composer/Console/Application.php b/src/Composer/Console/Application.php index e0037f655..6ce2d6682 100644 --- a/src/Composer/Console/Application.php +++ b/src/Composer/Console/Application.php @@ -219,6 +219,14 @@ class Application extends BaseApplication return $this->composer; } + /** + * Removes the cached composer instance + */ + public function resetComposer() + { + $this->composer = null; + } + /** * @return IOInterface */