diff --git a/src/nvm.go b/src/nvm.go index bf01931..95977e3 100644 --- a/src/nvm.go +++ b/src/nvm.go @@ -269,12 +269,28 @@ func install(version string, cpuarch string) { cpuarch = a if err != nil { - fmt.Println(err.Error()) - if version == "" { - fmt.Println(" ") - help() + if strings.Contains(err.Error(), "No Major.Minor.Patch") { + sv, sverr := semver.Make(version) + if sverr == nil { + sverr = sv.Validate() + } + if sverr != nil { + version = findLatestSubVersion(version) + if len(version) == 0 { + sverr = errors.New("Unrecognized version: \"" + requestedVersion + "\"") + } + } + err = sverr + } + + if err != nil { + fmt.Println(err.Error()) + if version == "" { + fmt.Println(" ") + help() + } + return } - return } if err != nil { @@ -971,13 +987,3 @@ func setup() { return } } - -func isAdmin() bool { - fs, err := os.Open("\\\\.\\PHYSICALDRIVE0") - if err == nil { - fs.Close() - return true - } - - return false -}