diff --git a/src/Composer/Downloader/ArchiveDownloader.php b/src/Composer/Downloader/ArchiveDownloader.php index 96aad4b9a..be863f1d3 100644 --- a/src/Composer/Downloader/ArchiveDownloader.php +++ b/src/Composer/Downloader/ArchiveDownloader.php @@ -38,6 +38,8 @@ abstract class ArchiveDownloader extends FileDownloader $this->io->writeError('Extracting archive', false); } + $this->filesystem->emptyDirectory($path); + $temporaryDir = $this->config->get('vendor-dir').'/composer/'.substr(md5(uniqid('', true)), 0, 8); $fileName = $this->getFileName($package, $path); diff --git a/src/Composer/Downloader/FileDownloader.php b/src/Composer/Downloader/FileDownloader.php index 2c66c23a3..da2955638 100644 --- a/src/Composer/Downloader/FileDownloader.php +++ b/src/Composer/Downloader/FileDownloader.php @@ -101,7 +101,6 @@ class FileDownloader implements DownloaderInterface, ChangeReportInterface ); } - $this->filesystem->emptyDirectory($path); $fileName = $this->getFileName($package, $path); $io = $this->io; @@ -229,6 +228,7 @@ class FileDownloader implements DownloaderInterface, ChangeReportInterface $this->io->writeError(" - Installing " . $package->getName() . " (" . $package->getFullPrettyVersion() . ")"); } + $this->filesystem->emptyDirectory($path); $this->filesystem->ensureDirectoryExists($path); $this->filesystem->rename($this->getFileName($package, $path), $path . pathinfo(parse_url($package->getDistUrl(), PHP_URL_PATH), PATHINFO_BASENAME)); }