diff --git a/internal/server/info_module.go b/internal/server/info_module.go index d2513bd..ad2921e 100644 --- a/internal/server/info_module.go +++ b/internal/server/info_module.go @@ -8,6 +8,7 @@ import ( "io/ioutil" "log" "os" + "os/exec" "path/filepath" "regexp" "strings" @@ -756,7 +757,11 @@ func findGoToolchainVersionFromGoRoot(goroot string) (string, error) { versionData, err = ioutil.ReadFile(filepath.Join(goroot, "VERSION.cache")) } if err != nil { - return "", fmt.Errorf("failed to get Go toolchain version in GOROOT (%s)", goroot) + cmd := exec.Command("go", "env", "GOVERSION") + versionData, err = cmd.Output() + if err != nil { + return "", fmt.Errorf("failed to get Go toolchain version in GOROOT (%s)", goroot) + } } matches := findGoVersionRegexp.FindSubmatch(versionData) if len(matches) >= 1 {