github.com/4ad/go@v0.0.0-20161219182952-69a12818b605/doc/install.html (about) 1 <!--{ 2 "Title": "Getting Started", 3 "Path": "/doc/install" 4 }--> 5 6 <div class="hideFromDownload"> 7 8 <h2 id="download">Download the Go distribution</h2> 9 10 <p> 11 <a href="https://golang.org/dl/" id="start" class="download"> 12 <span class="big">Download Go</span> 13 <span class="desc">Click here to visit the downloads page</span> 14 </a> 15 </p> 16 17 <p> 18 <a href="https://golang.org/dl/" target="_blank">Official binary 19 distributions</a> are available for the FreeBSD (release 8-STABLE and above), 20 Linux, Mac OS X (10.8 and above), and Windows operating systems and 21 the 32-bit (<code>386</code>) and 64-bit (<code>amd64</code>) x86 processor 22 architectures. 23 </p> 24 25 <p> 26 If a binary distribution is not available for your combination of operating 27 system and architecture, try 28 <a href="/doc/install/source">installing from source</a> or 29 <a href="/doc/install/gccgo">installing gccgo instead of gc</a>. 30 </p> 31 32 33 <h2 id="requirements">System requirements</h2> 34 35 <p> 36 Go binary distributions are available for these supported operating systems and architectures. 37 Please ensure your system meets these requirements before proceeding. 38 If your OS or architecture is not on the list, you may be able to 39 <a href="/doc/install/source">install from source</a> or 40 <a href="/doc/install/gccgo">use gccgo instead</a>. 41 </p> 42 43 <table class="codetable" frame="border" summary="requirements"> 44 <tr> 45 <th align="center">Operating system</th> 46 <th align="center">Architectures</th> 47 <th align="center">Notes</th> 48 </tr> 49 <tr><td colspan="3"><hr></td></tr> 50 <tr><td>FreeBSD 8-STABLE or later</td> <td>amd64</td> <td>Debian GNU/kFreeBSD not supported</td></tr> 51 <tr><td>Linux 2.6.23 or later with glibc</td> <td>amd64, 386, arm</td> <td>CentOS/RHEL 5.x not supported</td></tr> 52 <tr><td>Mac OS X 10.7 or later</td> <td>amd64</td> <td>use the clang or gcc<sup>†</sup> that comes with Xcode<sup>‡</sup> for <code>cgo</code> support</td></tr> 53 <tr><td>Windows XP or later</td> <td>amd64, 386</td> <td>use MinGW gcc<sup>†</sup>. No need for cygwin or msys.</td></tr> 54 </table> 55 56 <p> 57 <sup>†</sup><code>gcc</code> is required only if you plan to use 58 <a href="/cmd/cgo">cgo</a>.<br/> 59 <sup>‡</sup>You only need to install the command line tools for 60 <a href="http://developer.apple.com/Xcode/">Xcode</a>. If you have already 61 installed Xcode 4.3+, you can install it from the Components tab of the 62 Downloads preferences panel. 63 </p> 64 65 </div><!-- hideFromDownload --> 66 67 68 <h2 id="install">Install the Go tools</h2> 69 70 <p> 71 If you are upgrading from an older version of Go you must 72 first <a href="#uninstall">remove the existing version</a>. 73 </p> 74 75 <div id="tarballInstructions"> 76 77 <h3 id="tarball">Linux, Mac OS X, and FreeBSD tarballs</h3> 78 79 <p> 80 <a href="https://golang.org/dl/">Download the archive</a> 81 and extract it into <code>/usr/local</code>, creating a Go tree in 82 <code>/usr/local/go</code>. For example: 83 </p> 84 85 <pre> 86 tar -C /usr/local -xzf <span class="downloadFilename">go$VERSION.$OS-$ARCH.tar.gz</span> 87 </pre> 88 89 <p class="hideFromDownload"> 90 Choose the archive file appropriate for your installation. 91 For instance, if you are installing Go version 1.2.1 for 64-bit x86 on Linux, 92 the archive you want is called <code>go1.2.1.linux-amd64.tar.gz</code>. 93 </p> 94 95 <p> 96 (Typically these commands must be run as root or through <code>sudo</code>.) 97 </p> 98 99 <p> 100 Add <code>/usr/local/go/bin</code> to the <code>PATH</code> environment 101 variable. You can do this by adding this line to your <code>/etc/profile</code> 102 (for a system-wide installation) or <code>$HOME/.profile</code>: 103 </p> 104 105 <pre> 106 export PATH=$PATH:/usr/local/go/bin 107 </pre> 108 109 <h4 id="tarball_non_standard">Installing to a custom location</h4> 110 111 <p> 112 The Go binary distributions assume they will be installed in 113 <code>/usr/local/go</code> (or <code>c:\Go</code> under Windows), 114 but it is possible to install the Go tools to a different location. 115 In this case you must set the <code>GOROOT</code> environment variable 116 to point to the directory in which it was installed. 117 </p> 118 119 <p> 120 For example, if you installed Go to your home directory you should add the 121 following commands to <code>$HOME/.profile</code>: 122 </p> 123 124 <pre> 125 export GOROOT=$HOME/go 126 export PATH=$PATH:$GOROOT/bin 127 </pre> 128 129 <p> 130 <b>Note</b>: <code>GOROOT</code> must be set only when installing to a custom 131 location. 132 </p> 133 134 </div><!-- tarballInstructions --> 135 136 <div id="darwinPackageInstructions"> 137 138 <h3 id="osx">Mac OS X package installer</h3> 139 140 <p> 141 <a href="https://golang.org/dl/">Download the package file</a>, 142 open it, and follow the prompts to install the Go tools. 143 The package installs the Go distribution to <code>/usr/local/go</code>. 144 </p> 145 146 <p> 147 The package should put the <code>/usr/local/go/bin</code> directory in your 148 <code>PATH</code> environment variable. You may need to restart any open 149 Terminal sessions for the change to take effect. 150 </p> 151 152 </div><!-- darwinPackageInstructions --> 153 154 <div id="windowsInstructions"> 155 156 <h3 id="windows">Windows</h3> 157 158 <p class="hideFromDownload"> 159 The Go project provides two installation options for Windows users 160 (besides <a href="/doc/install/source">installing from source</a>): 161 a zip archive that requires you to set some environment variables and an 162 MSI installer that configures your installation automatically. 163 </p> 164 165 <div id="windowsInstallerInstructions"> 166 167 <h4 id="windows_msi">MSI installer</h4> 168 169 <p> 170 Open the <a href="https://golang.org/dl/">MSI file</a> 171 and follow the prompts to install the Go tools. 172 By default, the installer puts the Go distribution in <code>c:\Go</code>. 173 </p> 174 175 <p> 176 The installer should put the <code>c:\Go\bin</code> directory in your 177 <code>PATH</code> environment variable. You may need to restart any open 178 command prompts for the change to take effect. 179 </p> 180 181 </div><!-- windowsInstallerInstructions --> 182 183 <div id="windowsZipInstructions"> 184 185 <h4 id="windows_zip">Zip archive</h4> 186 187 <p> 188 <a href="https://golang.org/dl/">Download the zip file</a> and extract it into the directory of your choice (we suggest <code>c:\Go</code>). 189 </p> 190 191 <p> 192 If you chose a directory other than <code>c:\Go</code>, 193 you must set the <code>GOROOT</code> environment variable to your chosen path. 194 </p> 195 196 <p> 197 Add the <code>bin</code> subdirectory of your Go root (for example, <code>c:\Go\bin</code>) to your <code>PATH</code> environment variable. 198 </p> 199 200 </div><!-- windowsZipInstructions --> 201 202 <h4 id="windows_env">Setting environment variables under Windows</h4> 203 204 <p> 205 Under Windows, you may set environment variables through the "Environment 206 Variables" button on the "Advanced" tab of the "System" control panel. Some 207 versions of Windows provide this control panel through the "Advanced System 208 Settings" option inside the "System" control panel. 209 </p> 210 211 </div><!-- windowsInstructions --> 212 213 214 <h2 id="testing">Test your installation</h2> 215 216 <p> 217 Check that Go is installed correctly by setting up a workspace 218 and building a simple program, as follows. 219 </p> 220 221 <p> 222 Create a directory to contain your <a href="code.html#Workspaces">workspace</a>, 223 <code class="testUnix">$HOME/work</code> 224 <code class="testWindows" style="display: none">C:\work</code> 225 for example, and set the <code>GOPATH</code> environment 226 variable to point to that location. 227 </p> 228 229 <pre class="testUnix"> 230 $ <b>export GOPATH=$HOME/work</b> 231 </pre> 232 233 <pre class="testWindows" style="display: none"> 234 C:\> <b>set GOPATH=C:\work</b> 235 </pre> 236 237 <p> 238 <span class="testUnix"> 239 You should put the above command in your shell startup script 240 (<code>$HOME/.profile</code> for example). 241 </span> 242 <span class="testWindows"> 243 On Windows, follow the <a href="#windows_env">instructions above</a> to set the 244 <code>GOPATH</code> environment variable on your system. 245 </span> 246 </p> 247 248 <p> 249 Next, make the directories <code>src/github.com/user/hello</code> inside your 250 workspace (if you use GitHub, substitute your user name for <code>user</code>), 251 and inside the <code>hello</code> directory create a file named <code>hello.go</code> 252 with the following contents: 253 </p> 254 255 <pre> 256 package main 257 258 import "fmt" 259 260 func main() { 261 fmt.Printf("hello, world\n") 262 } 263 </pre> 264 265 <p> 266 Then compile it with the <code>go</code> tool: 267 </p> 268 269 <pre class="testUnix"> 270 $ <b>go install github.com/user/hello</b> 271 </pre> 272 273 <pre class="testWindows" style="display: none"> 274 C:\> <b>go install github.com/user/hello</b> 275 </pre> 276 277 <p> 278 The command above will put an executable command named <code>hello</code> 279 (or <code>hello.exe</code>) inside the <code>bin</code> directory of your workspace. 280 Execute the command to see the greeting: 281 </p> 282 283 <pre class="testUnix"> 284 $ <b>$GOPATH/bin/hello</b> 285 hello, world 286 </pre> 287 288 <pre class="testWindows" style="display: none"> 289 C:\> <b>%GOPATH%\bin\hello</b> 290 hello, world 291 </pre> 292 293 <p> 294 If you see the "hello, world" message then your Go installation is working. 295 </p> 296 297 <p> 298 Before rushing off to write Go code please read the 299 <a href="/doc/code.html">How to Write Go Code</a> document, 300 which describes some essential concepts about using the Go tools. 301 </p> 302 303 304 <h2 id="uninstall">Uninstalling Go</h2> 305 306 <p> 307 To remove an existing Go installation from your system delete the 308 <code>go</code> directory. This is usually <code>/usr/local/go</code> 309 under Linux, Mac OS X, and FreeBSD or <code>c:\Go</code> 310 under Windows. 311 </p> 312 313 <p> 314 You should also remove the Go <code>bin</code> directory from your 315 <code>PATH</code> environment variable. 316 Under Linux and FreeBSD you should edit <code>/etc/profile</code> or 317 <code>$HOME/.profile</code>. 318 If you installed Go with the <a href="#osx">Mac OS X package</a> then you 319 should remove the <code>/etc/paths.d/go</code> file. 320 Windows users should read the section about <a href="#windows_env">setting 321 environment variables under Windows</a>. 322 </p> 323 324 325 <h2 id="help">Getting help</h2> 326 327 <p> 328 For real-time help, ask the helpful gophers in <code>#go-nuts</code> on the 329 <a href="http://freenode.net/">Freenode</a> IRC server. 330 </p> 331 332 <p> 333 The official mailing list for discussion of the Go language is 334 <a href="//groups.google.com/group/golang-nuts">Go Nuts</a>. 335 </p> 336 337 <p> 338 Report bugs using the 339 <a href="//golang.org/issue">Go issue tracker</a>. 340 </p>