aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Martí <mvdan@mvdan.cc>2019-01-10 23:42:53 +0000
committerDaniel Martí <mvdan@mvdan.cc>2019-01-23 16:07:39 +0000
commit4edea0f0a77b341ec565d848e453c4a854418e8c (patch)
tree1d222c786901ca09196dc48b17c56fd18c4e11d1
parentcd06b2d00de0e62b26811b38530ffa29a0df4b1e (diff)
downloadgo-4edea0f0a77b341ec565d848e453c4a854418e8c.tar.xz
doc: mention 'go get golang.org/dl/...' in install
I needed Go 1.10 to debug and fix a test failure on that Go version in x/tools, but I forgot what the magic 'go get' command for this was. Googling "download specific golang version" and similar keywords showed no results, presumably because the golang.org/dl subrepo isn't prominently recommended nor documented anywhere. The most appropriate documentation page to add this to is doc/install, since it goes into some detail and is well indexed. We only need a short section to introduce the trick. The example does mention a specific version, Go 1.10.7, but I couldn't imagine a way to make it version-agnostic while still being clear on what the commands effectively do. Change-Id: I13158564d76d95caec412cdb35a50a4356df5863 Reviewed-on: https://go-review.googlesource.com/c/157457 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Rob Pike <r@golang.org>
-rw-r--r--doc/install.html33
1 files changed, 33 insertions, 0 deletions
diff --git a/doc/install.html b/doc/install.html
index 2e0c7f859d..ab192031c4 100644
--- a/doc/install.html
+++ b/doc/install.html
@@ -271,6 +271,39 @@ which describes some essential concepts about using the Go tools.
</p>
+<h2 id="extra_versions">Installing extra Go versions</h2>
+
+<p>
+It may be useful to have multiple Go versions installed on the same machine, for
+example, to ensure that a package's tests pass on multiple Go versions.
+Once you have one Go version installed, you can install another (such as 1.10.7)
+as follows:
+</p>
+
+<pre>
+$ go get golang.org/dl/go1.10.7
+$ go1.10.7 download
+</pre>
+
+<p>
+The newly downloaded version can be used like <code>go</code>:
+</p>
+
+<pre>
+$ go1.10.7 version
+go version go1.10.7 linux/amd64
+</pre>
+
+<p>
+All Go versions available via this method are listed on
+<a href="https://godoc.org/golang.org/dl#pkg-subdirectories">the download page</a>.
+You can find where each of these extra Go versions is installed by looking
+at its <code>GOROOT</code>; for example, <code>go1.10.7 env GOROOT</code>.
+To uninstall a downloaded version, just remove its <code>GOROOT</code> directory
+and the <code>goX.Y.Z</code> binary.
+</p>
+
+
<h2 id="uninstall">Uninstalling Go</h2>
<p>