1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
|
<!--{
"Title": "Getting Started",
"Path": "/doc/install"
}-->
<h2 id="download">Download the Go distribution</h2>
<p>
<a href="http://code.google.com/p/go/downloads" id="start" class="download" target="_blank">
<span class="big">Download Go</span>
<span class="desc">Click here to visit the downloads page</span>
</a>
</p>
<p>
<a href="http://code.google.com/p/go/downloads" target="_blank">Official binary
distributions</a> are available for the FreeBSD, Linux, Mac OS X (Snow Leopard
and above), and Windows operating systems and the 32-bit (<code>386</code>) and
64-bit (<code>amd64</code>) x86 processor architectures.
</p>
<p>
If a binary distribution is not available for your combination of operating
system and architecture, try
<a href="/doc/install/source">installing from source</a> or
<a href="/doc/install/gccgo">installing gccgo instead of gc</a>.
</p>
<h2 id="requirements">System requirements</h2>
<p>
The <code>gc</code> compiler supports the following operating systems and
architectures. Please ensure your system meets these requirements before
proceeding. If your OS or architecture is not on the list, it's possible that
<code>gccgo</code> might support your setup; see
<a href="/doc/install/gccgo">Setting up and using gccgo</a> for details.
</p>
<table class="codetable" frame="border" summary="requirements">
<tr>
<th align="middle">Operating system</th>
<th align="middle">Architectures</th>
<th align="middle">Notes</th>
</tr>
<tr><td colspan="3"><hr></td></tr>
<tr><td>FreeBSD 7 or later</td> <td>amd64, 386, arm</td> <td>Debian GNU/kFreeBSD not supported; FreeBSD/ARM needs FreeBSD 10 or later</td></tr>
<tr><td>Linux 2.6.23 or later with glibc</td> <td>amd64, 386, arm</td> <td>CentOS/RHEL 5.x not supported; no binary distribution for ARM yet</td></tr>
<tr><td>Mac OS X 10.6 or later</td> <td>amd64, 386</td> <td>use the gcc<sup>†</sup> that comes with Xcode<sup>‡</sup></td></tr>
<tr><td>Windows 2000 or later</td> <td>amd64, 386</td> <td>use mingw gcc<sup>†</sup>; cygwin or msys is not needed</td></tr>
</table>
<p>
<sup>†</sup><code>gcc</code> is required only if you plan to use
<a href="/cmd/cgo">cgo</a>.<br/>
<sup>‡</sup>You only need to install the command line tools for
<a href="http://developer.apple.com/Xcode/">Xcode</a>. If you have already
installed Xcode 4.3+, you can install it from the Components tab of the
Downloads preferences panel.
</p>
<h2 id="install">Install the Go tools</h2>
<p>
If you are upgrading from an older version of Go you must
first <a href="#uninstall">remove the existing version</a>.
</p>
<h3 id="tarball">Linux, Mac OS X, and FreeBSD tarballs</h3>
<p>
<a href="http://code.google.com/p/go/downloads/list?q=OpSys-FreeBSD+OR+OpSys-Linux+OR+OpSys-OSX+Type-Archive">Download the archive</a>
and extract it into <code>/usr/local</code>, creating a Go tree in
<code>/usr/local/go</code>. For example:
</p>
<pre>
tar -C /usr/local -xzf go1.2.1.linux-amd64.tar.gz
</pre>
<p>
The name of the archive may differ, depending on the version of Go you are
installing and your system's operating system and processor architecture.
</p>
<p>
(Typically these commands must be run as root or through <code>sudo</code>.)
</p>
<p>
Add <code>/usr/local/go/bin</code> to the <code>PATH</code> environment
variable. You can do this by adding this line to your <code>/etc/profile</code>
(for a system-wide installation) or <code>$HOME/.profile</code>:
</p>
<pre>
export PATH=$PATH:/usr/local/go/bin
</pre>
<h4 id="tarball_non_standard">Installing to a custom location</h4>
<p>
The Go binary distributions assume they will be installed in
<code>/usr/local/go</code> (or <code>c:\Go</code> under Windows),
but it is possible to install the Go tools to a different location.
In this case you must set the <code>GOROOT</code> environment variable
to point to the directory in which it was installed.
</p>
<p>
For example, if you installed Go to your home directory you should add the
following commands to <code>$HOME/.profile</code>:
</p>
<pre>
export GOROOT=$HOME/go
export PATH=$PATH:$GOROOT/bin
</pre>
<p>
<b>Note</b>: <code>GOROOT</code> must be set only when installing to a custom
location.
</p>
<h3 id="osx">Mac OS X package installer</h3>
<p>
<a href="http://code.google.com/p/go/downloads/list?q=OpSys-OSX+Type-Installer">Download the package file</a>,
open it, and follow the prompts to install the Go tools.
The package installs the Go distribution to <code>/usr/local/go</code>.
</p>
<p>
The package should put the <code>/usr/local/go/bin</code> directory in your
<code>PATH</code> environment variable. You may need to restart any open
Terminal sessions for the change to take effect.
</p>
<h3 id="windows">Windows</h3>
<p>
The Go project provides two installation options for Windows users
(besides <a href="/doc/install/source">installing from source</a>):
a zip archive that requires you to set some environment variables and an
MSI installer that configures your installation automatically.
</p>
<h4 id="windows_msi">MSI installer</h4>
<p>
Open the <a href="http://code.google.com/p/go/downloads/list?q=OpSys-Windows+Type%3DInstaller">MSI file</a>
and follow the prompts to install the Go tools.
By default, the installer puts the Go distribution in <code>c:\Go</code>.
</p>
<p>
The installer should put the <code>c:\Go\bin</code> directory in your
<code>PATH</code> environment variable. You may need to restart any open
command prompts for the change to take effect.
</p>
<h4 id="windows_zip">Zip archive</h4>
<p>
<a href="http://code.google.com/p/go/downloads/list?q=OpSys-Windows+Type%3DArchive">Download the zip file</a> and extract it into the directory of your choice (we suggest <code>c:\Go</code>).
</p>
<p>
If you chose a directory other than <code>c:\Go</code>,
you must set the <code>GOROOT</code> environment variable to your chosen path.
</p>
<p>
Add the <code>bin</code> subdirectory of your Go root (for example, <code>c:\Go\bin</code>) to your <code>PATH</code> environment variable.
</p>
<h4 id="windows_env">Setting environment variables under Windows</h4>
<p>
Under Windows, you may set environment variables through the "Environment
Variables" button on the "Advanced" tab of the "System" control panel. Some
versions of Windows provide this control panel through the "Advanced System
Settings" option inside the "System" control panel.
</p>
<h2 id="testing">Test your installation</h2>
<p>
Check that Go is installed correctly by building a simple program, as follows.
</p>
<p>
Create a file named <code>hello.go</code> and put the following program in it:
</p>
<pre>
package main
import "fmt"
func main() {
fmt.Printf("hello, world\n")
}
</pre>
<p>
Then run it with the <code>go</code> tool:
</p>
<pre>
$ go run hello.go
hello, world
</pre>
<p>
If you see the "hello, world" message then your Go installation is working.
</p>
<h2 id="gopath">Set up your work environment</h2>
<p>
You're almost done.
You just need to do a little more setup.
</p>
<p>
<a href="/doc/code.html" class="download" id="start">
<span class="big">How to Write Go Code</span>
<span class="desc">Learn how to set up and use the Go tools</span>
</a>
</p>
<p>
The <a href="/doc/code.html">How to Write Go Code</a> document
provides <b>essential setup instructions</b> for using the Go tools.
</p>
<h2 id="uninstall">Uninstalling Go</h2>
<p>
To remove an existing Go installation from your system delete the
<code>go</code> directory. This is usually <code>/usr/local/go</code>
under Linux, Mac OS X, and FreeBSD or <code>c:\Go</code>
under Windows.
</p>
<p>
You should also remove the Go <code>bin</code> directory from your
<code>PATH</code> environment variable.
Under Linux and FreeBSD you should edit <code>/etc/profile</code> or
<code>$HOME/.profile</code>.
If you installed Go with the <a href="#osx">Mac OS X package</a> then you
should remove the <code>/etc/paths.d/go</code> file.
Windows users should read the section about <a href="#windows_env">setting
environment variables under Windows</a>.
</p>
<h2 id="help">Getting help</h2>
<p>
For real-time help, ask the helpful gophers in <code>#go-nuts</code> on the
<a href="http://freenode.net/">Freenode</a> IRC server.
</p>
<p>
The official mailing list for discussion of the Go language is
<a href="http://groups.google.com/group/golang-nuts">Go Nuts</a>.
</p>
<p>
Report bugs using the
<a href="http://code.google.com/p/go/issues/list">Go issue tracker</a>.
</p>
|