# 1.1 Goのインストール

## 3つのインストール方法
Goにはいくつものインストール方法があります。どれでも好きなのを選んでかまいません。ここでは3つのよくあるインストール方法をご紹介しましょう：

- ソースコードのインストール：標準的なインストール方法です。Unix系システムをよく使うユーザ、特に開発者にとってはお馴染みの方法です。
- 標準パッケージのインストール：Goは便利なインストールパッケージを用意しています。Windows, Linux, Macなどのシステムをサポートしています。初心者にはうってつけでしょう。システムのbit数に対応したインストールパッケージをダウンロードして、"Next"をたどるだけでインストールできます。
- サードパーティツールによるインストール：現在便利なサードパーティパッケージも多くあります。たとえばUbuntuのapt-get、Macのhomebrewなどです。これらのシステムに慣れたユーザにはぴったりのインストール方法です。

最後に同じシステムの中で異なるバージョンのGoをインストールする場合は、[GVM](https://github.com/moovweb/gvm)が参考になります。どうすればよいか分からない場合一番うまくできます。

## Goソースコードのインストール
Goソースコードの中で、いくつかの部分はPlan 9 CとAT&Tコンパイラを使っています。そのため、もしあなたがソースコードをインストールしたい場合は、Cのコンパイルツールをインストールしておく必要があります。

Macシステムでは、Xcodeに適切なコンパイラが含まれています。

Unixシステムでは、gccなどのツールをインストールする必要があります。例えばUbuntuシステムではターミナルで`sudo apt-get install gcc libc6-dev`を実行することでコンパイラをインストールすることができます。

Windowsシステムでは、MinGWをインストールする必要があります。その後MinGWでgccをインストールして、適切な環境変数を設定します。

Goは[Mercurial][hg]を使ってバージョン管理を行います、まずMercurialをインストールしなければ、ダウンロードできません。もしMercurialがインストールされているのであれば、以下のコードを実行します：

もしGoのインストールディレクトリが`$GO_INSTALL_DIR`だったとすると

	hg clone -u release https://code.google.com/p/go
	cd go/src
	./all.bash

all.bashを実行後"ALL TESTS PASSED"が表示されると、インストール成功です。

上記はUnixスタイルのコマンドです、Windowsではインストール方法は似ており、all.batを実行するだけです。コンパイラはMinGWのgccを使います。

その後環境変数をいくつか設定します、

	export GOROOT=$HOME/go
	export GOBIN=$GOROOT/bin
	export PATH=$PATH:$GOBIN

下のような画像が現れると、インストール成功です。

![](images/1.1.mac.png?raw=true)

図1.1 ソースコードインストール後Goコマンドを実行するの図

もしGoのUsage情報が現れたら、Goはインストールが成功しています：もしこのコマンドが存在しない場合は、自分のPATH環境変数のなかにGoのインストールディレクトリが含まれているか確認してください。


## Go標準パッケージのインストール

Goはさまざまなプラットホームでインストールパッケージを提供しています、これらのパッケージはデフォルトで以下のディレクトリにインストールします：/usr/local/go（Windowsシステム：c:\Go）。当然これらのインストール場所を変更することもできます、ただし変更後はあなたの環境変数を以下のように設定する必要があります：

	export GOROOT=$HOME/go  
	export PATH=$PATH:$GOROOT/bin

### 自分の操作しているシステムが32bitか64bitか判断する方法。

Goインストールの次はシステムのbit数の判断ですので、この章では先に自分のシステムの種類を確認しましょう。

WindowsシステムのユーザはWin+Rを押してcmdを実行してください。`systeminfo`と入力してエンターキーを押します。少しするとシステムの情報が現れます。"システムの種類"の一行に、"x64-based PC"と表示されていれば、64bitシステムです。もし"X86-based PC"とあれば、32bitシステムです。

Macユーザは直接64bit版を使用することをおすすめします。なぜなら、GoがサポートしているMac OS Xのバージョンはすでに32bitプロセッサをサポートしていないからです。

LinuxユーザはTerminalで`arch`(すなわち、`uname -a`)を実行することでシステムの情報を確かめることができます。

64bitシステムであれば以下のように表示されます。

	x86_64

32bitシステムの場合は以下のように表示されます。

	i386

### Mac インストール

[ダウンロードURL][downlink]に接続し、32bitシステムはgo1.0.3.darwin-386.pkgをダウンロードします。64bitシステムであればgo1.0.3.darwin-amd64.pkgをダウンロードします。ファイルをダブルクリックし、すべてデフォルトで「次へ」ボタンをクリックします。これでgoはあなたのシステムにインストールされました。デフォルトでPATHの中に適切な`~/go/bin`が追加されています。このとき端末を開き、`go`と入力します。

インストール成功の画像があらわれるとインストール成功です。

もしgoのUsage情報が現れた場合は、goはすでにインストールされています。もしこのコマンドが存在しないと出てきた場合は、自分のPATH環境変数の中にgoのインストールディレクトリが含まれているか確認してください。

### Linux インストール

[ダウンロードURL][downlink]に接続し、32bitシステムはgo1.0.3.linux-386.tar.gzをダウンロードします。64bitシステムであればgo1.0.3.linux-amd64.tar.gzをダウンロードします。

今後はGoがインストールされたディレクトリを`$GO_INSTALL_DIR`と仮定します。

`tar.gz`をインストールディレクトリに解凍します：`tar zxvf go1.0.3.linux-amd64.tar.gz -C $GO_INSTALL_DIR`

PATHを設定します。`export PATH=$PATH:$GO_INSTALL_DIR/go/bin`

その後、`go`を実行します。

![](images/1.1.linux.png?raw=true)

図1.2 Linuxシステムでインストールに成功したあとgoを実行して表示される情報

もしgoのUsage情報が現れた場合は、goはすでにインストールされています。もしこのコマンドが存在しないと出てきた場合は、自分のPATH環境変数の中にgoのインストールディレクトリが含まれているか確認してください。

### Windows インストール

[ダウンロードURL][downlink]に接続し、32bitシステムはgo1.0.3.windows-386.msiをダウンロードします。64bitシステムであればgo1.0.3.windows-amd64.msiをダウンロードします。ファイルをダブルクリックして、デフォルトのまま「次へ」をクリックします。この時goはすでにあなたのシステムにインストールされています。デフォルトでインストール後の環境変数には`c:/go/bin`が追加されています。cmdを開いて、`go`と入力します。

macインストール成功の画像で、インストールが成功します。

もしGoのUsage情報が現れたら、Goはすでにインストールされています。もしこのコマンドが存在しないと出た場合は自分のPATH環境変数にGoのインストールディレクトリが含まれるか確認してください。

## サードパーティツールのインストール
### GVM
gvmはサードパーティが開発したGoのバージョン管理ツールです。rubyのrvmツールに似ています。相当使い勝手がいいです。gvmをインストールするには以下のコマンド実行します：

	bash < <(curl -s https://raw.github.com/moovweb/gvm/master/binscripts/gvm-installer)

インストールが完了したあと、goをインストールすることができます：

	gvm install go1.1
	gvm use go1.1

下のコマンドで、毎回gvm useをコールする手間を省くことができます：
        gvm use go1.1 --default
        
上のコマンドを実行したあと、GOPATH、GOROOTなどの環境変数は自動的に設定されます。これで、直接利用することができます。

### apt-get
Ubuntuは現在最も多く利用されているLinuxデスクトップシステムです。`apt-get`コマンドでソフトウェア・パッケージを管理します。下のコマンドでGoをインストールすることができます、今後のため`git`と`mercurial`もインストールしておくべきでしょう：

	sudo apt-get install python-software-properties
	sudo add-apt-repository ppa:gophers/go
	sudo apt-get update
	sudo apt-get install golang-stable git-core mercurial

### homebrew
homebrewはMacシステムで現在最も使用されているソフトウェア管理ツールです。現在Goをサポートしており、以下のコマンドでGoを直接インストールすることができます。今後のため`git`と`mercurial`もインストールしておくべきでしょう：

	brew update && brew upgrade
	brew install go
	brew install git
	brew install mercurial


## links
   * [目次](<preface.md>)
   * 前へ: [Goの環境設定](<01.0.md>)
   * 次へ: [GOPATHとワーキングディレクトリ](<01.2.md>)

[downlink]: http://code.google.com/p/go/downloads/list "Goインストールパッケージダウンロード"
[hg]: http://mercurial.selenic.com/downloads/ "Mercurialダウンロード"
