| 
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