public function install(array $install, $packagist = false, $writeConfig = true, $preferSource = false)
{
$this->addPackages($install);
$refresh = [];
$versionParser = new VersionParser();
foreach ($install as $name => $version) {
try {
$normalized = $versionParser->normalize($version);
$refresh[] = new Package($name, $normalized, $version);
} catch (\UnexpectedValueException $e) {
}
}
$this->composerUpdate(array_keys($install), $refresh, $packagist, $preferSource);
if ($writeConfig) {
$this->writeConfig();
}
}