Go有多种安装方式,你可以选择自己喜欢的。这里我们介绍三种最常见的安装方式:

  • Go源码安装:这是一种标准的软件安装方式。对于经常使用Unix类系统的用户,尤其对于开发者来说,从源码安装可以自己定制。
  • Go标准包安装:Go提供了方便的安装包,支持Windows、Linux、Mac等系统。这种方式适合快速安装,可根据自己的系统位数下载好相应的安装包,一路next就可以轻松安装了。推荐这种方式
  • 第三方工具安装:目前有很多方便的第三方软件包工具,例如Ubuntu的apt-get和wget、Mac的homebrew等。这种安装方式适合那些熟悉相应系统的用户。

最后,如果你想在同一个系统中安装多个版本的Go,你可以参考第三方工具GVM,这是目前在这方面做得最好的工具,除非你知道怎么处理。

一、Go源码安装

Go 1.5彻底移除C代码,Runtime、Compiler、Linker均由Go编写,实现自举。只需要安装了上一个版本,即可从源码安装。

在Go 1.5前,Go的源代码中,有些部分是用Plan 9 C和AT&T汇编写的,因此假如你要想从源码安装,就必须安装C的编译工具。

在Mac系统中,只要你安装了Xcode,就已经包含了相应的编译工具。

在类Unix系统中,需要安装gcc等工具。例如Ubuntu系统可通过在终端中执行sudo apt-get install gcc libc6-dev来安装编译工具。

在Windows系统中,你需要安装MinGW,然后通过MinGW安装gcc,并设置相应的环境变量。

你可以直接去官网下载源码,找相应的goVERSION.src.tar.gz的文件下载,下载之后解压缩到$HOME目录,执行如下代码:

cd go/src

./all.bash

运行all.bash后出现"ALL TESTS PASSED"字样时才算安装成功。

上面是Unix风格的命令,Windows下的安装方式类似,只不过是运行all.bat,调用的编译器是MinGW的gcc。

如果是Mac或者Unix用户需要设置几个环境变量,如果想重启之后也能生效的话把下面的命令写到.bashrc或者.zshrc里面,

export GOPATH=$HOME/gopath

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

如果你是写入文件的,记得执行bash .bashrc或者bash .zshrc使得设置立马生效。

如果是window系统,就需要设置环境变量,在path里面增加相应的go所在的目录,设置gopath变量。

当你设置完毕之后在命令行里面输入go,看到如下图片即说明你已经安装成功

如果出现Go的Usage信息,那么说明Go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了Go的安装目录。

从go 1.8开始,GOPATH环境变量现在有一个默认值,如果它没有被设置。 它在Unix上默认为$HOME/go,在Windows上默认为%USERPROFILE%/go。

关于上面的GOPATH将在下面小节详细讲解

二、Go标准包安装

Go提供了每个平台打好包的一键安装,这些包默认会安装到如下目录:/usr/local/go (Windows系统:c:\Go),当然你可以改变他们的安装位置,但是改变之后你必须在你的环境变量中设置如下信息:

export GOROOT=$HOME/go

export GOPATH=$HOME/gopath

export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

上面这些命令对于Mac和Unix用户来说最好是写入.bashrc或者.zshrc文件,对于windows用户来说当然是写入环境变量。

如何判断自己的操作系统是32位还是64位?

我们接下来的Go安装需要判断操作系统的位数,所以这小节我们先确定自己的系统类型。

Windows系统用户请按Win+R运行cmd,输入systeminfo后回车,稍等片刻,会出现一些系统信息。在“系统类型”一行中,若显示“x64-based PC”,即为64位系统;若显示“X86-based PC”,则为32位系统。

Mac系统用户建议直接使用64位的,因为Go所支持的Mac OS X版本已经不支持纯32位处理器了。

Linux系统用户可通过在Terminal中执行命令arch(即uname -m)来查看系统信息:

64位系统显示

x86_64

32位系统显示

i386

Mac 安装

访问下载地址,32位系统下载go1.4.2.darwin-386-osx10.8.pkg(更新的版本已无32位下载),64位系统下载go1.8.3.darwin-amd64.pkg,双击下载文件,一路默认安装点击下一步,这个时候go已经安装到你的系统中,默认已经在PATH中增加了相应的~/go/bin,这个时候打开终端,输入go

看到类似上面源码安装成功的图片说明已经安装成功

如果出现go的Usage信息,那么说明go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了go的安装目录。

Linux 安装

访问下载地址,32位系统下载go1.8.3.linux-386.tar.gz,64位系统下载go1.8.3.linux-amd64.tar.gz,

假定你想要安装Go的目录为 $GO_INSTALL_DIR,后面替换为相应的目录路径。

解压缩tar.gz包到安装目录下:tar zxvf go1.8.3.linux-amd64.tar.gz -C $GO_INSTALL_DIR。

设置PATH,export PATH=$PATH:$GO_INSTALL_DIR/go/bin

然后执行go

如果出现go的Usage信息,那么说明go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了go的安装目录。

Windows 安装

访问Golang 下载页,32 位请选择名称中包含 windows-386 的 msi 安装包,64 位请选择名称中包含 windows-amd64 的。下载好后运行,不要修改默认安装目录 C:\Go\,若安装到其他位置会导致不能执行自己所编写的 Go 代码。安装完成后默认会在环境变量 Path 后添加 Go 安装目录下的 bin 目录 C:\Go\bin\,并添加环境变量 GOROOT,值为 Go 安装根目录 C:\Go\ 。

验证是否安装成功

在运行中输入 cmd 打开命令行工具,在提示符下输入 go,检查是否能看到 Usage 信息。输入 cd %GOROOT%,看是否能进入 Go 安装目录。若都成功,说明安装成功。

不能的话请检查上述环境变量 Path 和 GOROOT 的值。若不存在请卸载后重新安装,存在请重启计算机后重试以上步骤。

三、第三方工具安装

GVM

gvm是第三方开发的Go多版本管理工具,类似ruby里面的rvm工具。使用起来相当的方便,安装gvm使用如下命令:

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

安装完成后我们就可以安装go了:

gvm install go1.8.3

gvm use go1.8.3

也可以使用下面的命令,省去每次调用gvm use的麻烦: gvm use go1.8.3 --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

wget

wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz

sudo tar -xzf go1.8.3.linux-amd64.tar.gz -C /usr/local

配置环境变量:

export GOROOT=/usr/local/go

export GOBIN=$GOROOT/bin

export PATH=$PATH:$GOBIN

export GOPATH=$HOME/gopath (可选设置)

或者使用:

sudo vim /etc/profile

并添加下面的内容:

export GOROOT=/usr/local/go

export GOBIN=$GOROOT/bin

export PATH=$PATH:$GOBIN

export GOPATH=$HOME/gopath (可选设置)

重新加载 profile 文件

source /etc/profile

homebrew

homebrew是Mac系统下面目前使用最多的管理软件的工具,目前已支持Go,可以通过命令直接安装Go,为了以后方便,应该把 git mercurial 也安装上:

1.安装homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2.安装go

brew update && brew upgrade

brew install go

brew install git

brew install mercurial //可选安装

转载于:https://juejin.im/post/5ca5af946fb9a05e77147c1c

终于找全了!Go的三种常见的安装方式,各种系统多个版本应有尽有相关推荐

  1. linux 查看go安装目录,终于找全了!Go的三种常见的安装方式,各种系统多个版本应有尽有...

    原标题:终于找全了!Go的三种常见的安装方式,各种系统多个版本应有尽有 Go有多种安装方式,你可以选择自己喜欢的.这里我们介绍三种最常见的安装方式: Go源码安装:这是一种标准的软件安装方式.对于经常 ...

  2. [转] 世界上排名前100的英文歌—终于找全了

    [转] 世界上排名前100的英文歌-终于找全了(非常好听) 2011-12-21 23:49 阅读(2) 转载自王烽 1. don't cry--guns n' roses这首歌曾唱哭了千万人.总是能 ...

  3. 终于找全啦!一二线城市知名互联网公司名单!对着找就对了

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:Spring Boot + Vue 如此强大?竟然可以开发基于 C/S 架构的应用个人原创+1博客:点击前往,查 ...

  4. 黑马程序员_终于找全了,Eclipse使用技巧!!!

    1. ctrl+shift+r:打开资源 这可能是所有快捷键组合中最省时间的了.这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个字母,比如applic*.xm ...

  5. 过滤器在图纸上的符号_终于找全了,施工图纸上那一堆难记的符号,赶紧收藏!...

    钢筋平法图集常用符号解释 la:非抗震构件的钢筋锚固长度. laE:抗震构件的钢筋锚固长度. bw:剪力墙的厚度. bf:转角处的暗柱的厚度. ln:梁的净跨度. llE:钢筋的搭接长度. hc:支座 ...

  6. 三种常见的 Mac 安装 git 工具的方法

    目录 前言 正文 一.佛系法 二.brew 法 三.终极大法 结尾 前言 有时候新 Mac 本子需要安装 git 工具,或者原来的 git 工具损坏了,再或者需要升级 git 版本,都需要涉及重新安装 ...

  7. NB朴素贝叶斯理论推导与三种常见模型

    转自:http://www.tuicool.com/articles/zEJzIbR 朴素贝叶斯(Naive Bayes)是一种简单的分类算法,它的经典应用案例为人所熟知:文本分类(如垃圾邮件过滤). ...

  8. 技术总结 | 三种常见单相整流电路

    一个稳定的直流电源是电子装置必不可少的组成部分,它通常由交流电经过稳压.整流和滤波电路组成. 简介:整流电路的作用是将交流降压电路输出的电压较低的交流电转换成单向脉动性直流电,这就是交流电的整流过程, ...

  9. 朴素贝叶斯理论推导与三种常见模型

    朴素贝叶斯(Naive Bayes)是一种简单的分类算法,它的经典应用案例为人所熟知:文本分类(如垃圾邮件过滤).很多教材都从这些案例出发,本文就不重复这些内容了,而把重点放在理论推导(其实很浅显,别 ...

最新文章

  1. PHP Memcached应用实现代码
  2. Android 模拟多线程下载
  3. 搜索推荐炼丹笔记:位置偏差里的惊喜
  4. 从酷睿双核到Tiger Lake-H,英特尔如何帮游戏笔记本完成蜕变
  5. SQL Server数据库分区分表
  6. Framework学习(一)深入Android 系统架构
  7. 区块链入门视频?国外视频帮你快速入门了解区块链!!!
  8. 傅里叶变换的性质(一)
  9. 《鹊桥仙·纤云弄巧》 秦观
  10. 搜狗输入法取消软键盘
  11. ADsAD合辑(二)AD具体使用
  12. 113种渗透测试工具合集(全网最全)
  13. ROS学习笔记08、机器人导航仿真(slam、map_server、amcl、move_base与导航消息介绍)
  14. java计算机毕业设计ssm基于Vue的二手商品交易网站z40n1(附源码、数据库)
  15. C# 如何捕获键盘按钮和组合键以及KeyPress/KeyDown事件之间的区别 (附KeyChar/KeyCode值)
  16. python 爬取豆瓣某一主题书单_Python爬虫 || 使用requests和xpath爬取豆瓣Top250书单内容全解。...
  17. 使用’推土距离‘构建强悍的WGAN
  18. 解决pycharm调试断点无效跳过断点运行问题
  19. 手把手教你学51单片机-如何学习单片机
  20. 淘宝直播丨900W粉店铺夺行业周榜Top1,商家自播增长要素全解析

热门文章

  1. php $_server http_cookie,$_SERVER['HTTP_COOKIE'] return's two PHPSESSID
  2. android蓝牙操作
  3. windows 系统开机后-按键盘上的字母会出现数字-如何解决
  4. 【Docker系列】容器环境配置
  5. c语言设置随机函数,C语言随机函数(c语言随机函数rand怎么用)
  6. 使用移动代理CMPP2.0,3.0协议实现短信发送-Java版,使用华为smproxy.jar包
  7. 一篇文章告诉你如何入门网络安全行业
  8. 关于电脑开(WIFI、蓝牙)热点其他设备无法连接的问题
  9. RestTemplate的GET请求参数问题
  10. 今天get新技能了吗?软件测试@mock不同大小地图片