@@ -567,29 +567,31 @@ function find_prog($name, $path = $null, $mode = 'ONLY', $cmd = $null, $params =
567
567
568
568
# try get match expr and preferred ver
569
569
$checkVerCond = $null
570
- $requiredMin = ' '
570
+ $minimalVer = ' '
571
571
$preferredVer = ' '
572
572
$requiredVer = $manifest [$name ]
573
573
if ($requiredVer ) {
574
574
$preferredVer = $null
575
- if ($requiredVer.EndsWith (' +' )) {
576
- $preferredVer = $requiredVer.TrimEnd (' +' )
577
- $checkVerCond = ' $(version_ge $foundVer $preferredVer)'
578
- }
579
- elseif ($requiredVer -eq ' *' ) {
575
+ if ($requiredVer -eq ' *' ) {
580
576
$checkVerCond = ' $True'
581
577
$preferredVer = ' latest'
582
578
}
583
579
else {
584
580
$verArr = $requiredVer.Split (' ~' )
585
581
$isRange = $verArr.Count -gt 1
582
+ $minimalVer = $verArr [0 ]
586
583
$preferredVer = $verArr [$isRange ]
587
- if ($isRange -gt 1 ) {
588
- $requiredMin = $verArr [0 ]
589
- $checkVerCond = ' $(version_in_range $foundVer $requiredMin $preferredVer)'
590
- }
591
- else {
592
- $checkVerCond = ' $(version_eq $foundVer $preferredVer)'
584
+ if ($preferredVer.EndsWith (' +' )) {
585
+ $preferredVer = $preferredVer.TrimEnd (' +' )
586
+ if ($minimalVer.EndsWith (' +' )) { $minimalVer = $minimalVer.TrimEnd (' +' ) }
587
+ $checkVerCond = ' $(version_ge $foundVer $minimalVer)'
588
+ } else {
589
+ if ($isRange ) {
590
+ $checkVerCond = ' $(version_in_range $foundVer $minimalVer $preferredVer)'
591
+ }
592
+ else {
593
+ $checkVerCond = ' $(version_eq $foundVer $preferredVer)'
594
+ }
593
595
}
594
596
}
595
597
if (! $checkVerCond ) {
@@ -623,7 +625,7 @@ function find_prog($name, $path = $null, $mode = 'ONLY', $cmd = $null, $params =
623
625
else {
624
626
$foundVer = " $ ( $cmd_info.Version ) "
625
627
}
626
- [void ]$requiredMin
628
+ [void ]$minimalVer
627
629
if ($checkVerCond ) {
628
630
$matched = Invoke-Expression $checkVerCond
629
631
if ($matched ) {
0 commit comments