Fix require command when specifying non-stable versions, fixes #6859

main
Jordi Boggiano 7 years ago
parent c79e5fc33e
commit a928ffa4ee

@ -376,7 +376,7 @@ EOT
)); ));
} else { } else {
// check that the specified version/constraint exists before we proceed // check that the specified version/constraint exists before we proceed
$this->findBestVersionForPackage($input, $requirement['name'], $phpVersion, $preferredStability, $requirement['version']); $this->findBestVersionForPackage($input, $requirement['name'], $phpVersion, 'dev', $requirement['version']);
} }
$result[] = $requirement['name'] . ' ' . $requirement['version']; $result[] = $requirement['name'] . ' ' . $requirement['version'];
@ -642,6 +642,12 @@ EOT
if (!$package) { if (!$package) {
if ($requiredVersion && $versionSelector->findBestCandidate($name, null, $phpVersion, $preferredStability)) { if ($requiredVersion && $versionSelector->findBestCandidate($name, null, $phpVersion, $preferredStability)) {
// Check whether the PHP version was the problem
if ($phpVersion && $versionSelector->findBestCandidate($name, null, null, $preferredStability)) {
throw new \InvalidArgumentException(sprintf(
'Package %s at version %s has a PHP requirement incompatible with your PHP version (%s)', $name, $requiredVersion, $phpVersion
));
}
throw new \InvalidArgumentException(sprintf( throw new \InvalidArgumentException(sprintf(
'Could not find package %s in a version matching %s', $name, $requiredVersion 'Could not find package %s in a version matching %s', $name, $requiredVersion
)); ));
@ -649,7 +655,7 @@ EOT
// Check whether the PHP version was the problem // Check whether the PHP version was the problem
if ($phpVersion && $versionSelector->findBestCandidate($name)) { if ($phpVersion && $versionSelector->findBestCandidate($name)) {
throw new \InvalidArgumentException(sprintf( throw new \InvalidArgumentException(sprintf(
'Could not find package %s at any version matching your PHP version %s', $name, $phpVersion 'Could not find package %s in any version matching your PHP version (%s)', $name, $phpVersion
)); ));
} }
throw new \InvalidArgumentException(sprintf( throw new \InvalidArgumentException(sprintf(

Loading…
Cancel
Save