diff --git a/src/Composer/Command/CreateProjectCommand.php b/src/Composer/Command/CreateProjectCommand.php
index 3dff39eb8..69e083b3b 100644
--- a/src/Composer/Command/CreateProjectCommand.php
+++ b/src/Composer/Command/CreateProjectCommand.php
@@ -82,12 +82,13 @@ EOT
$dm->setPreferSource(true);
}
+ $config = Factory::createConfig();
if (null === $repositoryUrl) {
- $sourceRepo = new ComposerRepository(array('url' => 'http://packagist.org'), $io);
+ $sourceRepo = new ComposerRepository(array('url' => 'http://packagist.org'), $io, $config);
} elseif ("json" === pathinfo($repositoryUrl, PATHINFO_EXTENSION)) {
$sourceRepo = new FilesystemRepository(new JsonFile($repositoryUrl, new RemoteFilesystem($io)));
} elseif (0 === strpos($repositoryUrl, 'http')) {
- $sourceRepo = new ComposerRepository(array('url' => $repositoryUrl), $io);
+ $sourceRepo = new ComposerRepository(array('url' => $repositoryUrl), $io, $config);
} else {
throw new \InvalidArgumentException("Invalid repository url given. Has to be a .json file or an http url.");
}
@@ -112,7 +113,7 @@ EOT
$io->write('Installing ' . $package->getName() . ' as new project.', true);
$projectInstaller = new ProjectInstaller($directory, $dm);
- $projectInstaller->install($package);
+ $projectInstaller->install(new FilesystemRepository(new JsonFile('php://memory')), $package);
$io->write('Created project into directory ' . $directory . '', true);
chdir($directory);
diff --git a/src/Composer/Command/InitCommand.php b/src/Composer/Command/InitCommand.php
index e72f01e73..b1e778daa 100644
--- a/src/Composer/Command/InitCommand.php
+++ b/src/Composer/Command/InitCommand.php
@@ -13,6 +13,7 @@
namespace Composer\Command;
use Composer\Json\JsonFile;
+use Composer\Factory;
use Composer\Repository\CompositeRepository;
use Composer\Repository\PlatformRepository;
use Composer\Repository\ComposerRepository;
@@ -229,7 +230,7 @@ EOT
if (!$this->repos) {
$this->repos = new CompositeRepository(array(
new PlatformRepository,
- new ComposerRepository(array('url' => 'http://packagist.org'), $this->getIO())
+ new ComposerRepository(array('url' => 'http://packagist.org'), $this->getIO(), Factory::createConfig())
));
}
diff --git a/src/Composer/Command/SearchCommand.php b/src/Composer/Command/SearchCommand.php
index 2a25dc66c..659d70904 100644
--- a/src/Composer/Command/SearchCommand.php
+++ b/src/Composer/Command/SearchCommand.php
@@ -20,6 +20,7 @@ use Composer\Repository\PlatformRepository;
use Composer\Repository\ComposerRepository;
use Composer\Package\PackageInterface;
use Composer\Package\AliasPackage;
+use Composer\Factory;
/**
* @author Robert Schönthal
@@ -54,7 +55,7 @@ EOT
} else {
$output->writeln('No composer.json found in the current directory, showing packages from packagist.org');
$installedRepo = $platformRepo;
- $packagist = new ComposerRepository(array('url' => 'http://packagist.org'), $this->getIO());
+ $packagist = new ComposerRepository(array('url' => 'http://packagist.org'), $this->getIO(), Factory::createConfig());
$repos = new CompositeRepository(array($installedRepo, $packagist));
}
diff --git a/src/Composer/Command/ShowCommand.php b/src/Composer/Command/ShowCommand.php
index 4c6372f5d..f9f211e46 100644
--- a/src/Composer/Command/ShowCommand.php
+++ b/src/Composer/Command/ShowCommand.php
@@ -13,6 +13,7 @@
namespace Composer\Command;
use Composer\Composer;
+use Composer\Factory;
use Composer\Package\PackageInterface;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputArgument;
@@ -65,7 +66,7 @@ EOT
} else {
$output->writeln('No composer.json found in the current directory, showing packages from packagist.org');
$installedRepo = $platformRepo;
- $packagist = new ComposerRepository(array('url' => 'http://packagist.org'), $this->getIO());
+ $packagist = new ComposerRepository(array('url' => 'http://packagist.org'), $this->getIO(), Factory::createConfig());
$repos = new CompositeRepository(array($installedRepo, $packagist));
}
diff --git a/src/Composer/Factory.php b/src/Composer/Factory.php
index 9f32ec27c..9758fc946 100644
--- a/src/Composer/Factory.php
+++ b/src/Composer/Factory.php
@@ -84,7 +84,7 @@ class Factory
}
// Configuration defaults
- $config = $this->createConfig();
+ $config = static::createConfig();
$config->merge($localConfig);
$vendorDir = $config->get('vendor-dir');