|
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