]> Cypherpunks repositories - gostls13.git/commitdiff
go/build: add help info for unset $GOPATH
authorEdward Muller <edwardam@interlix.com>
Wed, 7 Sep 2016 18:39:31 +0000 (11:39 -0700)
committerRob Pike <r@golang.org>
Sat, 10 Sep 2016 00:27:43 +0000 (00:27 +0000)
We relay this info in a few places, in a few different ways, but not
consistently everywhere.  This led one of our users to start googling
and not find https://golang.org/doc/code.html#Workspaces, of which `go
help gopath` is the most equivalent.

Change-Id: I28a94375739f3aa4f200e145293ca2a5f65101e1
Reviewed-on: https://go-review.googlesource.com/28690
Run-TryBot: Rob Pike <r@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rob Pike <r@golang.org>
doc/code.html
src/cmd/go/alldocs.go
src/cmd/go/build.go
src/cmd/go/get.go
src/cmd/go/go_test.go
src/cmd/go/help.go
src/cmd/go/main.go
src/go/build/build.go

index fdca404ba47e757381404de88651722861a3cec5..b64bc1a1423003fa54e6875a166cfb7c83f62b37 100644 (file)
@@ -149,7 +149,7 @@ $ <b>export PATH=$PATH:$GOPATH/bin</b>
 <p>
 To learn more about setting up the <code>GOPATH</code> environment variable,
 please see
-<a href="/cmd/go/#hdr-GOPATH_environment_variable"><code>go help gopath</code></a>
+<a href="/cmd/go/#hdr-GOPATH_environment_variable"><code>'go help gopath'</code></a>
 </p>
 
 <h3 id="ImportPaths">Import paths</h3>
index 9c7b9573d0b53dd503f8f9305c59900dd69bbd92..16c0028f771593aaea747000a66922d960acc75c 100644 (file)
 //
 // When checking out a new package, get creates the target directory
 // GOPATH/src/<import-path>. If the GOPATH contains multiple entries,
-// get uses the first one. See 'go help gopath'.
+// get uses the first one. For more details see: 'go help gopath'.
 //
 // When checking out or updating a package, get looks for a branch or tag
 // that matches the locally installed version of Go. The most important
 //             The operating system for which to compile code.
 //             Examples are linux, darwin, windows, netbsd.
 //     GOPATH
-//             See 'go help gopath'.
+//             For more details see: 'go help gopath'.
 //     GORACE
 //             Options for the race detector.
 //             See https://golang.org/doc/articles/race_detector.html.
 //
 // Import path syntax
 //
-// An import path (see 'go help packages') denotes a package
-// stored in the local file system.  In general, an import path denotes
-// either a standard package (such as "unicode/utf8") or a package
-// found in one of the work spaces (see 'go help gopath').
+// An import path (see 'go help packages') denotes a package stored in the local
+// file system.  In general, an import path denotes either a standard package (such
+// as "unicode/utf8") or a package found in one of the work spaces (For more
+// details see: 'go help gopath').
 //
 // Relative import paths
 //
 // same meta tag and then git clone https://code.org/r/p/exproj into
 // GOPATH/src/example.org.
 //
-// New downloaded packages are written to the first directory
-// listed in the GOPATH environment variable (see 'go help gopath').
+// New downloaded packages are written to the first directory listed in the GOPATH
+// environment variable (For more details see: 'go help gopath').
 //
 // The go command attempts to download the version of the
 // package appropriate for the Go release being used.
 //
 // Otherwise, the import path P denotes the package found in
 // the directory DIR/src/P for some DIR listed in the GOPATH
-// environment variable (see 'go help gopath').
+// environment variable (For more details see: 'go help gopath').
 //
 // If no import paths are given, the action applies to the
 // package in the current directory.
index 3d0326b967760bccbf5896402089d5cadefa7fcd..e2b018abba197149894e8b688189ebc60cf790d6 100644 (file)
@@ -605,7 +605,7 @@ func installPackages(args []string, forGet bool) {
                                errorf("go install: no install location for %s: hidden by %s", p.Dir, p.ConflictDir)
                        default:
                                errorf("go install: no install location for directory %s outside GOPATH\n"+
-                                       "\tFor more details see: go help gopath", p.Dir)
+                                       "\tFor more details see: 'go help gopath'", p.Dir)
                        }
                }
        }
index 05b6cb787ecb2fd4b5c1a88fcf721ce80197e522..572a8654488d44d1afe24a960f99b4920a6b9f02 100644 (file)
@@ -49,7 +49,7 @@ Get also accepts build flags to control the installation. See 'go help build'.
 
 When checking out a new package, get creates the target directory
 GOPATH/src/<import-path>. If the GOPATH contains multiple entries,
-get uses the first one. See 'go help gopath'.
+get uses the first one. For more details see: 'go help gopath'.
 
 When checking out or updating a package, get looks for a branch or tag
 that matches the locally installed version of Go. The most important
@@ -393,11 +393,11 @@ func downloadPackage(p *Package) error {
                // Package not found. Put in first directory of $GOPATH.
                list := filepath.SplitList(buildContext.GOPATH)
                if len(list) == 0 {
-                       return fmt.Errorf("cannot download, $GOPATH not set. For more details see: go help gopath")
+                       return fmt.Errorf("cannot download, $GOPATH not set. For more details see: 'go help gopath'")
                }
                // Guard against people setting GOPATH=$GOROOT.
                if list[0] == goroot {
-                       return fmt.Errorf("cannot download, $GOPATH must not be set to $GOROOT. For more details see: go help gopath")
+                       return fmt.Errorf("cannot download, $GOPATH must not be set to $GOROOT. For more details see: 'go help gopath'")
                }
                p.build.SrcRoot = filepath.Join(list[0], "src")
                p.build.PkgRoot = filepath.Join(list[0], "pkg")
index 5d7e2e9f3aa90d2e19fad1149965f93756ca4a5f..2fda20ce03bfe774e8caf316945a18114a0634a7 100644 (file)
@@ -1622,8 +1622,8 @@ func TestMissingGOPATHIsReported(t *testing.T) {
        defer tg.cleanup()
        tg.setenv("GOPATH", "")
        tg.runFail("install", "foo/quxx")
-       if tg.grepCountBoth(`\(\$GOPATH not set\)$`) != 1 {
-               t.Error(`go install foo/quxx expected error: ($GOPATH not set)`)
+       if tg.grepCountBoth(`\(\$GOPATH not set\. For more details see: 'go help gopath'\)$`) != 1 {
+               t.Error(`go install foo/quxx expected error: ($GOPATH not set. For more details see: 'go help gopath')`)
        }
 }
 
index 056a0af1125b6ed6688577199caae17013a1d7cd..d2b8444d8ed0436fe24d830e129d890daa99a5ae 100644 (file)
@@ -42,7 +42,7 @@ denotes the package in that directory.
 
 Otherwise, the import path P denotes the package found in
 the directory DIR/src/P for some DIR listed in the GOPATH
-environment variable (see 'go help gopath').
+environment variable (For more details see: 'go help gopath').
 
 If no import paths are given, the action applies to the
 package in the current directory.
@@ -102,10 +102,10 @@ var helpImportPath = &Command{
        Short:     "import path syntax",
        Long: `
 
-An import path (see 'go help packages') denotes a package
-stored in the local file system.  In general, an import path denotes
-either a standard package (such as "unicode/utf8") or a package
-found in one of the work spaces (see 'go help gopath').
+An import path (see 'go help packages') denotes a package stored in the local
+file system.  In general, an import path denotes either a standard package (such
+as "unicode/utf8") or a package found in one of the work spaces (For more
+details see: 'go help gopath').
 
 Relative import paths
 
@@ -237,8 +237,8 @@ the go tool will verify that https://example.org/?go-get=1 contains the
 same meta tag and then git clone https://code.org/r/p/exproj into
 GOPATH/src/example.org.
 
-New downloaded packages are written to the first directory
-listed in the GOPATH environment variable (see 'go help gopath').
+New downloaded packages are written to the first directory listed in the GOPATH
+environment variable (For more details see: 'go help gopath').
 
 The go command attempts to download the version of the
 package appropriate for the Go release being used.
@@ -439,7 +439,7 @@ General-purpose environment variables:
                The operating system for which to compile code.
                Examples are linux, darwin, windows, netbsd.
        GOPATH
-               See 'go help gopath'.
+               For more details see: 'go help gopath'.
        GORACE
                Options for the race detector.
                See https://golang.org/doc/articles/race_detector.html.
index 8fdc87d665fe5c65fc48f560639c50c04136d56d..90e1a9d02dff019c5656b7f0ae4b80e31e635818 100644 (file)
@@ -147,7 +147,7 @@ func main() {
                                os.Exit(2)
                        }
                        if !filepath.IsAbs(p) {
-                               fmt.Fprintf(os.Stderr, "go: GOPATH entry is relative; must be absolute path: %q.\nRun 'go help gopath' for usage.\n", p)
+                               fmt.Fprintf(os.Stderr, "go: GOPATH entry is relative; must be absolute path: %q.\nFor more details see: 'go help gopath'\n", p)
                                os.Exit(2)
                        }
                }
index 93a91cbccc32f8d33c6f0eea94a1fff5ac0bc71e..5a14d1ac33cec60ba8ac7c99df99324ab485311b 100644 (file)
@@ -636,7 +636,7 @@ func (ctxt *Context) Import(path string, srcDir string, mode ImportMode) (*Packa
                        format = "\t%s"
                }
                if len(tried.gopath) == 0 {
-                       paths = append(paths, "\t($GOPATH not set)")
+                       paths = append(paths, "\t($GOPATH not set. For more details see: 'go help gopath')")
                }
                return p, fmt.Errorf("cannot find package %q in any of:\n%s", path, strings.Join(paths, "\n"))
        }