github.com/stingnevermore/go@v0.0.0-20180120041312-3810f5bfed72/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="/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="/dl/" target="_blank">Official binary
    19  distributions</a> are available for the FreeBSD (release 10-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 <a href="/dl/">binary distributions</a> 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 10.3 or later</td> <td>amd64, 386</td> <td>Debian GNU/kFreeBSD not supported</td></tr>
    51  <tr valign='top'><td>Linux 2.6.23 or later with glibc</td> <td>amd64, 386, arm, arm64,<br>s390x, ppc64le</td> <td>CentOS/RHEL 5.x not supported.<br>Install from source for other libc.</td></tr>
    52  <tr><td>macOS 10.8 or later</td> <td>amd64</td> <td>use the clang or gcc<sup>&#8224;</sup> that comes with Xcode<sup>&#8225;</sup> for <code>cgo</code> support</td></tr>
    53  <tr><td>Windows XP SP2 or later</td> <td>amd64, 386</td> <td>use MinGW gcc<sup>&#8224;</sup>. No need for cygwin or msys.</td></tr>
    54  </table>
    55  
    56  <p>
    57  <sup>&#8224;</sup>A C compiler is required only if you plan to use
    58  <a href="/cmd/cgo">cgo</a>.<br/>
    59  <sup>&#8225;</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="/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
   121  commands like the following to <code>$HOME/.profile</code>:
   122  </p>
   123  
   124  <pre>
   125  export GOROOT=$HOME/go1.X
   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="/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="/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="/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 your <a href="code.html#Workspaces">workspace</a> directory,
   223  <code class="testUnix">$HOME/go</code><code class="testWindows">%USERPROFILE%\go</code>.
   224  (If you'd like to use a different directory,
   225  you will need to <a href="https://golang.org/wiki/SettingGOPATH">set the <code>GOPATH</code> environment variable</a>.)
   226  </p>
   227  
   228  <p>
   229  Next, make the directory <code>src/hello</code> inside your workspace,
   230  and in that directory create a file named <code>hello.go</code> that looks like:
   231  </p>
   232  
   233  <pre>
   234  package main
   235  
   236  import "fmt"
   237  
   238  func main() {
   239      fmt.Printf("hello, world\n")
   240  }
   241  </pre>
   242  
   243  <p>
   244  Then build it with the <code>go</code> tool:
   245  </p>
   246  
   247  <pre class="testUnix">
   248  $ <b>cd $HOME/go/src/hello</b>
   249  $ <b>go build</b>
   250  </pre>
   251  
   252  <pre class="testWindows">
   253  C:\&gt; <b>cd %USERPROFILE%\go\src\hello</b>
   254  C:\Users\Gopher\go\src\hello&gt; <b>go build</b>
   255  </pre>
   256  
   257  <p>
   258  The command above will build an executable named
   259  <code class="testUnix">hello</code><code class="testWindows">hello.exe</code>
   260  in the directory alongside your source code.
   261  Execute it to see the greeting:
   262  </p>
   263  
   264  <pre class="testUnix">
   265  $ <b>./hello</b>
   266  hello, world
   267  </pre>
   268  
   269  <pre class="testWindows">
   270  C:\Users\Gopher\go\src\hello&gt; <b>hello</b>
   271  hello, world
   272  </pre>
   273  
   274  <p>
   275  If you see the "hello, world" message then your Go installation is working.
   276  </p>
   277  
   278  <p>
   279  You can run <code>go</code> <code>install</code> to install the binary into
   280  your workspace's <code>bin</code> directory
   281  or <code>go</code> <code>clean</code> to remove it.
   282  </p>
   283  
   284  <p>
   285  Before rushing off to write Go code please read the
   286  <a href="/doc/code.html">How to Write Go Code</a> document,
   287  which describes some essential concepts about using the Go tools.
   288  </p>
   289  
   290  
   291  <h2 id="uninstall">Uninstalling Go</h2>
   292  
   293  <p>
   294  To remove an existing Go installation from your system delete the
   295  <code>go</code> directory. This is usually <code>/usr/local/go</code>
   296  under Linux, Mac OS X, and FreeBSD or <code>c:\Go</code>
   297  under Windows.
   298  </p>
   299  
   300  <p>
   301  You should also remove the Go <code>bin</code> directory from your
   302  <code>PATH</code> environment variable.
   303  Under Linux and FreeBSD you should edit <code>/etc/profile</code> or
   304  <code>$HOME/.profile</code>.
   305  If you installed Go with the <a href="#osx">Mac OS X package</a> then you
   306  should remove the <code>/etc/paths.d/go</code> file.
   307  Windows users should read the section about <a href="#windows_env">setting
   308  environment variables under Windows</a>.
   309  </p>
   310  
   311  
   312  <h2 id="help">Getting help</h2>
   313  
   314  <p>
   315    For help, see the <a href="/help/">list of Go mailing lists, forums, and places to chat</a>.
   316  </p>
   317  
   318  <p>
   319    Report bugs either by running “<b><code>go</code> <code>bug</code></b>”, or
   320    manually at the <a href="https://golang.org/issue">Go issue tracker</a>.
   321  </p>