|  | 
| 1 |  | -# 1.1 Go 安装 | 
| 2 |  | - | 
| 3 |  | -## Go的三种安装方式 | 
| 4 |  | -Go有多种安装方式,你可以选择自己喜欢的。这里我们介绍三种最常见的安装方式: | 
| 5 |  | - | 
| 6 |  | -- Go源码安装:这是一种标准的软件安装方式。对于经常使用Unix类系统的用户,尤其对于开发者来说,从源码安装是最方便而熟悉的。 | 
| 7 |  | -- Go标准包安装:Go提供了方便的安装包,支持Windows、Linux、Mac等系统。这种方式适合初学者,可根据自己的系统位数下载好相应的安装包,一路next就可以轻松安装了。 | 
| 8 |  | -- 第三方工具安装:目前有很多方便的第三方软件包工具,例如Ubuntu的apt-get、Mac的homebrew等。这种安装方式适合那些熟悉相应系统的用户。 | 
| 9 |  | - | 
| 10 |  | -最后,如果你想在同一个系统中安装多个版本的Go,你可以参考第三方工具[GVM](https://github.com/moovweb/gvm),这是目前在这方面做得最好的工具,除非你知道怎么处理。 | 
| 11 |  | - | 
| 12 |  | -## Go源码安装 | 
| 13 |  | -在Go的源代码中,有些部分是用Plan 9 C和AT&T汇编写的,因此假如你要想从源码安装,就必须安装C的编译工具。 | 
| 14 |  | - | 
| 15 |  | -在Mac系统中,只要你安装了Xcode,就已经包含了相应的编译工具。 | 
| 16 |  | - | 
| 17 |  | -在类Unix系统中,需要安装gcc等工具。例如Ubuntu系统可通过在终端中执行`sudo apt-get install gcc libc6-dev`来安装编译工具。 | 
| 18 |  | - | 
| 19 |  | -在Windows系统中,你需要安装MinGW,然后通过MinGW安装gcc,并设置相应的环境变量。 | 
| 20 |  | - | 
| 21 |  | -Go使用[Mercurial][hg]进行版本管理,首先你必须安装了Mercurial,然后才能下载。假设你已经安装好Mercurial,执行如下代码: | 
| 22 |  | - | 
| 23 |  | -假设已经位于Go的安装目录 `$GO_INSTALL_DIR`下 | 
| 24 |  | - | 
| 25 |  | -	hg clone -u release https://code.google.com/p/go | 
| 26 |  | -	cd go/src | 
| 27 |  | -	./all.bash | 
| 28 |  | - | 
| 29 |  | -运行all.bash后出现"ALL TESTS PASSED"字样时才算安装成功。 | 
| 30 |  | - | 
| 31 |  | -上面是Unix风格的命令,Windows下的安装方式类似,只不过是运行all.bat,调用的编译器是MinGW的gcc。 | 
| 32 |  | - | 
| 33 |  | -然后设置几个环境变量, | 
| 34 |  | - | 
| 35 |  | -	export GOROOT=$HOME/go | 
| 36 |  | -	export GOBIN=$GOROOT/bin | 
| 37 |  | -	export PATH=$PATH:$GOBIN | 
| 38 |  | - | 
| 39 |  | -看到如下图片即说明你已经安装成功 | 
| 40 |  | - | 
| 41 |  | - | 
| 42 |  | - | 
| 43 |  | -图1.1 源码安装之后执行Go命令的图 | 
| 44 |  | - | 
| 45 |  | -如果出现Go的Usage信息,那么说明Go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了Go的安装目录。 | 
| 46 |  | - | 
| 47 |  | - | 
| 48 |  | -## Go标准包安装 | 
| 49 |  | - | 
| 50 |  | -Go提供了每个平台打好包的一键安装,这些包默认会安装到如下目录:/usr/local/go (Windows系统:c:\Go),当然你可以改变他们的安装位置,但是改变之后你必须在你的环境变量中设置如下信息: | 
| 51 |  | - | 
| 52 |  | -	export GOROOT=$HOME/go   | 
| 53 |  | -	export PATH=$PATH:$GOROOT/bin | 
| 54 |  | - | 
| 55 |  | -### 如何判断自己的操作系统是32位还是64位? | 
| 56 |  | - | 
| 57 |  | -我们接下来的Go安装需要判断操作系统的位数,所以这小节我们先确定自己的系统类型。 | 
| 58 |  | - | 
| 59 |  | -Windows系统用户请按Win+R运行cmd,输入`systeminfo`后回车,稍等片刻,会出现一些系统信息。在“系统类型”一行中,若显示“x64-based PC”,即为64位系统;若显示“X86-based PC”,则为32位系统。 | 
| 60 |  | - | 
| 61 |  | -Mac系统用户建议直接使用64位的,因为Go所支持的Mac OS X版本已经不支持纯32位处理器了。 | 
| 62 |  | - | 
| 63 |  | -Linux系统用户可通过在Terminal中执行命令`uname -a`来查看系统信息: | 
| 64 |  | - | 
| 65 |  | -64位系统显示 | 
| 66 |  | - | 
| 67 |  | -	<一段描述> x86_64 x86_64 x86_64 GNU/Linux | 
| 68 |  | -	//有些机器显示如下,例如ubuntu10.04 | 
| 69 |  | -	x86_64 GNU/Linux | 
| 70 |  | - | 
| 71 |  | -32位系统显示 | 
| 72 |  | - | 
| 73 |  | -	<一段描述> i686 i686 i386 GNU/Linux | 
| 74 |  | - | 
| 75 |  | -### Mac 安装 | 
| 76 |  | - | 
| 77 |  | -访问[下载地址][downlink],32位系统下载go1.0.3.darwin-386.pkg,64位系统下载go1.0.3.darwin-amd64.pkg,双击下载文件,一路默认安装点击下一步,这个时候go已经安装到你的系统中,默认已经在PATH中增加了相应的`~/go/bin`,这个时候打开终端,输入`go` | 
| 78 |  | - | 
| 79 |  | -看到类似上面源码安装成功的图片说明已经安装成功 | 
| 80 |  | - | 
| 81 |  | -如果出现go的Usage信息,那么说明go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了go的安装目录。 | 
| 82 |  | - | 
| 83 |  | -### Linux 安装 | 
| 84 |  | - | 
| 85 |  | -访问[下载地址][downlink],32位系统下载go1.0.3.linux-386.tar.gz,64位系统下载go1.0.3.linux-amd64.tar.gz, | 
| 86 |  | - | 
| 87 |  | -假定你想要安装Go的目录为 `$GO_INSTALL_DIR`,后面替换为相应的目录路径。 | 
| 88 |  | - | 
| 89 |  | -解压缩`tar.gz`包到安装目录下:`tar zxvf go1.0.3.linux-amd64.tar.gz -C $GO_INSTALL_DIR`。 | 
| 90 |  | - | 
| 91 |  | -设置PATH,`export PATH=$PATH:$GO_INSTALL_DIR/go/bin` | 
| 92 |  | - | 
| 93 |  | -然后执行`go` | 
| 94 |  | - | 
| 95 |  | - | 
| 96 |  | - | 
| 97 |  | -图1.2 Linux系统下安装成功之后执行go显示的信息 | 
| 98 |  | - | 
| 99 |  | -如果出现go的Usage信息,那么说明go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了go的安装目录。 | 
| 100 |  | - | 
| 101 |  | -### Windows 安装 | 
| 102 |  | - | 
| 103 |  | -访问[下载地址][downlink],32位系统下载go1.0.3.windows-386.msi,64位系统下载go1.0.3.windows-amd64.msi。双击打开下载的文件,一路按照默认点击下一步,这个时候go已经安装到你的系统中,默认安装之后已经在你的系统环境变量中加入了`c:/go/bin`,这个时候打开cmd,输入`go` | 
| 104 |  | - | 
| 105 |  | -看到类似上面mac安装成功的图片说明已经安装成功 | 
| 106 |  | - | 
| 107 |  | -如果出现Go的Usage信息,那么说明Go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了Go的安装目录。 | 
| 108 |  | - | 
| 109 |  | -## 第三方工具安装 | 
| 110 |  | -### GVM | 
| 111 |  | -gvm是第三方开发的Go多版本管理工具,类似ruby里面的rvm工具。使用起来相当的方便,安装gvm使用如下命令: | 
| 112 |  | - | 
| 113 |  | -	bash < <(curl -s https://raw.github.com/moovweb/gvm/master/binscripts/gvm-installer) | 
| 114 |  | - | 
| 115 |  | -安装完成后我们就可以安装go了: | 
| 116 |  | - | 
| 117 |  | -	gvm install go1.1 | 
| 118 |  | -	gvm use go1.1 | 
| 119 |  | - | 
| 120 |  | -也可以使用下面的命令,省去每次调用gvm use的麻烦: | 
| 121 |  | -        gvm use go1.1 --default | 
| 122 |  | -         | 
| 123 |  | -执行完上面的命令之后GOPATH、GOROOT等环境变量会自动设置好,这样就可以直接使用了。 | 
| 124 |  | - | 
| 125 |  | -### apt-get | 
| 126 |  | -Ubuntu是目前使用最多的Linux桌面系统,使用`apt-get`命令来管理软件包,我们可以通过下面的命令来安装Go,为了以后方便,应该把 `git` `mercurial` 也安装上: | 
| 127 |  | - | 
| 128 |  | -	sudo apt-get install python-software-properties | 
| 129 |  | -	sudo add-apt-repository ppa:gophers/go | 
| 130 |  | -	sudo apt-get update | 
| 131 |  | -	sudo apt-get install golang-stable git-core mercurial | 
| 132 |  | - | 
| 133 |  | -### homebrew | 
| 134 |  | -homebrew是Mac系统下面目前使用最多的管理软件的工具,目前已支持Go,可以通过命令直接安装Go,为了以后方便,应该把 `git` `mercurial` 也安装上: | 
| 135 |  | - | 
| 136 |  | -	brew update && brew upgrade | 
| 137 |  | -	brew install go | 
| 138 |  | -	brew install git | 
| 139 |  | -	brew install mercurial | 
| 140 |  | - | 
| 141 |  | - | 
| 142 |  | -## links | 
| 143 |  | -   * [目录](<preface.md>) | 
| 144 |  | -   * 上一节: [Go环境配置](<01.0.md>) | 
| 145 |  | -   * 下一节: [GOPATH 与工作空间](<01.2.md>) | 
| 146 |  | - | 
| 147 |  | -[downlink]: http://code.google.com/p/go/downloads/list "Go安装包下载" | 
| 148 |  | -[hg]: http://mercurial.selenic.com/downloads/ "Mercurial下载" | 
|  | 1 | +# 1.1 Go 安装 | 
|  | 2 | + | 
|  | 3 | +## Go的三种安装方式 | 
|  | 4 | +Go有多种安装方式,你可以选择自己喜欢的。这里我们介绍三种最常见的安装方式: | 
|  | 5 | + | 
|  | 6 | +- Go源码安装:这是一种标准的软件安装方式。对于经常使用Unix类系统的用户,尤其对于开发者来说,从源码安装是最方便而熟悉的。 | 
|  | 7 | +- Go标准包安装:Go提供了方便的安装包,支持Windows、Linux、Mac等系统。这种方式适合初学者,可根据自己的系统位数下载好相应的安装包,一路next就可以轻松安装了。 | 
|  | 8 | +- 第三方工具安装:目前有很多方便的第三方软件包工具,例如Ubuntu的apt-get、Mac的homebrew等。这种安装方式适合那些熟悉相应系统的用户。 | 
|  | 9 | + | 
|  | 10 | +最后,如果你想在同一个系统中安装多个版本的Go,你可以参考第三方工具[GVM](https://github.com/moovweb/gvm),这是目前在这方面做得最好的工具,除非你知道怎么处理。 | 
|  | 11 | + | 
|  | 12 | +## Go源码安装 | 
|  | 13 | +在Go的源代码中,有些部分是用Plan 9 C和AT&T汇编写的,因此假如你要想从源码安装,就必须安装C的编译工具。 | 
|  | 14 | + | 
|  | 15 | +在Mac系统中,只要你安装了Xcode,就已经包含了相应的编译工具。 | 
|  | 16 | + | 
|  | 17 | +在类Unix系统中,需要安装gcc等工具。例如Ubuntu系统可通过在终端中执行`sudo apt-get install gcc libc6-dev`来安装编译工具。 | 
|  | 18 | + | 
|  | 19 | +在Windows系统中,你需要安装MinGW,然后通过MinGW安装gcc,并设置相应的环境变量。 | 
|  | 20 | + | 
|  | 21 | +Go使用[Mercurial][hg]进行版本管理,首先你必须安装了Mercurial,然后才能下载。假设你已经安装好Mercurial,执行如下代码: | 
|  | 22 | + | 
|  | 23 | +假设已经位于Go的安装目录 `$GO_INSTALL_DIR`下 | 
|  | 24 | + | 
|  | 25 | +	hg clone -u release https://code.google.com/p/go | 
|  | 26 | +	cd go/src | 
|  | 27 | +	./all.bash | 
|  | 28 | + | 
|  | 29 | +运行all.bash后出现"ALL TESTS PASSED"字样时才算安装成功。 | 
|  | 30 | + | 
|  | 31 | +上面是Unix风格的命令,Windows下的安装方式类似,只不过是运行all.bat,调用的编译器是MinGW的gcc。 | 
|  | 32 | + | 
|  | 33 | +然后设置几个环境变量, | 
|  | 34 | + | 
|  | 35 | +	export GOROOT=$HOME/go | 
|  | 36 | +	export GOBIN=$GOROOT/bin | 
|  | 37 | +	export PATH=$PATH:$GOBIN | 
|  | 38 | + | 
|  | 39 | +看到如下图片即说明你已经安装成功 | 
|  | 40 | + | 
|  | 41 | + | 
|  | 42 | + | 
|  | 43 | +图1.1 源码安装之后执行Go命令的图 | 
|  | 44 | + | 
|  | 45 | +如果出现Go的Usage信息,那么说明Go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了Go的安装目录。 | 
|  | 46 | + | 
|  | 47 | + | 
|  | 48 | +## Go标准包安装 | 
|  | 49 | + | 
|  | 50 | +Go提供了每个平台打好包的一键安装,这些包默认会安装到如下目录:/usr/local/go (Windows系统:c:\Go),当然你可以改变他们的安装位置,但是改变之后你必须在你的环境变量中设置如下信息: | 
|  | 51 | + | 
|  | 52 | +	export GOROOT=$HOME/go   | 
|  | 53 | +	export PATH=$PATH:$GOROOT/bin | 
|  | 54 | + | 
|  | 55 | +### 如何判断自己的操作系统是32位还是64位? | 
|  | 56 | + | 
|  | 57 | +我们接下来的Go安装需要判断操作系统的位数,所以这小节我们先确定自己的系统类型。 | 
|  | 58 | + | 
|  | 59 | +Windows系统用户请按Win+R运行cmd,输入`systeminfo`后回车,稍等片刻,会出现一些系统信息。在“系统类型”一行中,若显示“x64-based PC”,即为64位系统;若显示“X86-based PC”,则为32位系统。 | 
|  | 60 | + | 
|  | 61 | +Mac系统用户建议直接使用64位的,因为Go所支持的Mac OS X版本已经不支持纯32位处理器了。 | 
|  | 62 | + | 
|  | 63 | +Linux系统用户可通过在Terminal中执行命令`arch`(即`uname -m`)来查看系统信息: | 
|  | 64 | + | 
|  | 65 | +64位系统显示 | 
|  | 66 | + | 
|  | 67 | +	x86_64 | 
|  | 68 | + | 
|  | 69 | +32位系统显示 | 
|  | 70 | + | 
|  | 71 | +	i386 | 
|  | 72 | + | 
|  | 73 | +### Mac 安装 | 
|  | 74 | + | 
|  | 75 | +访问[下载地址][downlink],32位系统下载go1.0.3.darwin-386.pkg,64位系统下载go1.0.3.darwin-amd64.pkg,双击下载文件,一路默认安装点击下一步,这个时候go已经安装到你的系统中,默认已经在PATH中增加了相应的`~/go/bin`,这个时候打开终端,输入`go` | 
|  | 76 | + | 
|  | 77 | +看到类似上面源码安装成功的图片说明已经安装成功 | 
|  | 78 | + | 
|  | 79 | +如果出现go的Usage信息,那么说明go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了go的安装目录。 | 
|  | 80 | + | 
|  | 81 | +### Linux 安装 | 
|  | 82 | + | 
|  | 83 | +访问[下载地址][downlink],32位系统下载go1.0.3.linux-386.tar.gz,64位系统下载go1.0.3.linux-amd64.tar.gz, | 
|  | 84 | + | 
|  | 85 | +假定你想要安装Go的目录为 `$GO_INSTALL_DIR`,后面替换为相应的目录路径。 | 
|  | 86 | + | 
|  | 87 | +解压缩`tar.gz`包到安装目录下:`tar zxvf go1.0.3.linux-amd64.tar.gz -C $GO_INSTALL_DIR`。 | 
|  | 88 | + | 
|  | 89 | +设置PATH,`export PATH=$PATH:$GO_INSTALL_DIR/go/bin` | 
|  | 90 | + | 
|  | 91 | +然后执行`go` | 
|  | 92 | + | 
|  | 93 | + | 
|  | 94 | + | 
|  | 95 | +图1.2 Linux系统下安装成功之后执行go显示的信息 | 
|  | 96 | + | 
|  | 97 | +如果出现go的Usage信息,那么说明go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了go的安装目录。 | 
|  | 98 | + | 
|  | 99 | +### Windows 安装 | 
|  | 100 | + | 
|  | 101 | +访问[下载地址][downlink],32位系统下载go1.0.3.windows-386.msi,64位系统下载go1.0.3.windows-amd64.msi。双击打开下载的文件,一路按照默认点击下一步,这个时候go已经安装到你的系统中,默认安装之后已经在你的系统环境变量中加入了`c:/go/bin`,这个时候打开cmd,输入`go` | 
|  | 102 | + | 
|  | 103 | +看到类似上面mac安装成功的图片说明已经安装成功 | 
|  | 104 | + | 
|  | 105 | +如果出现Go的Usage信息,那么说明Go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了Go的安装目录。 | 
|  | 106 | + | 
|  | 107 | +## 第三方工具安装 | 
|  | 108 | +### GVM | 
|  | 109 | +gvm是第三方开发的Go多版本管理工具,类似ruby里面的rvm工具。使用起来相当的方便,安装gvm使用如下命令: | 
|  | 110 | + | 
|  | 111 | +	bash < <(curl -s https://raw.github.com/moovweb/gvm/master/binscripts/gvm-installer) | 
|  | 112 | + | 
|  | 113 | +安装完成后我们就可以安装go了: | 
|  | 114 | + | 
|  | 115 | +	gvm install go1.1 | 
|  | 116 | +	gvm use go1.1 | 
|  | 117 | + | 
|  | 118 | +也可以使用下面的命令,省去每次调用gvm use的麻烦: | 
|  | 119 | +        gvm use go1.1 --default | 
|  | 120 | +         | 
|  | 121 | +执行完上面的命令之后GOPATH、GOROOT等环境变量会自动设置好,这样就可以直接使用了。 | 
|  | 122 | + | 
|  | 123 | +### apt-get | 
|  | 124 | +Ubuntu是目前使用最多的Linux桌面系统,使用`apt-get`命令来管理软件包,我们可以通过下面的命令来安装Go,为了以后方便,应该把 `git` `mercurial` 也安装上: | 
|  | 125 | + | 
|  | 126 | +	sudo apt-get install python-software-properties | 
|  | 127 | +	sudo add-apt-repository ppa:gophers/go | 
|  | 128 | +	sudo apt-get update | 
|  | 129 | +	sudo apt-get install golang-stable git-core mercurial | 
|  | 130 | + | 
|  | 131 | +### homebrew | 
|  | 132 | +homebrew是Mac系统下面目前使用最多的管理软件的工具,目前已支持Go,可以通过命令直接安装Go,为了以后方便,应该把 `git` `mercurial` 也安装上: | 
|  | 133 | + | 
|  | 134 | +	brew update && brew upgrade | 
|  | 135 | +	brew install go | 
|  | 136 | +	brew install git | 
|  | 137 | +	brew install mercurial | 
|  | 138 | + | 
|  | 139 | + | 
|  | 140 | +## links | 
|  | 141 | +   * [目录](<preface.md>) | 
|  | 142 | +   * 上一节: [Go环境配置](<01.0.md>) | 
|  | 143 | +   * 下一节: [GOPATH 与工作空间](<01.2.md>) | 
|  | 144 | + | 
|  | 145 | +[downlink]: http://code.google.com/p/go/downloads/list "Go安装包下载" | 
|  | 146 | +[hg]: http://mercurial.selenic.com/downloads/ "Mercurial下载" | 
0 commit comments