博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从零开始学习 Go ——安装
阅读量:6307 次
发布时间:2019-06-22

本文共 1795 字,大约阅读时间需要 5 分钟。

hot3.png

0x01 设置 Go 环境

要安装并顺利使用 Go,第一步就是要设置 Go 的环境。

需要设置的 Go 的环境变量,一共有三个。

  • GOROOT Go 语言的源码以及安装目录。

  • GOPATH Go 语言的开发目录,目录可以有多个,但是,当我们执行 go get 命令的时候,如未指定目录,会默认保存在第一个目录下。

  • GOROOT_BOOTSTRAP 这个目录在安装 Go 1.5 版本及之后的版本时需要设置。由于在 1.4 版本后,Go 编译器实现了自举,即通过 1.4 版本来编译安装之后版本的编译器。如果不设置该环境变量的话,会产生这样一个错误 Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4.

除此之外,还需要配置 PATH 环境变量到 Go 的二进制程序目录。

我们需要在 ~/.bash_profile 中添加下面的代码(我把所有的 Go 语言相关的东西都放在了 ~/.golang 下面了):

export GOROOT=$HOME/.golang/goexport GOPATH=$HOME/.golang/pathexport PATH=$PATH:$HOME/.golang/go/binexport GOROOT_BOOTSTRAP=$HOME/.golang/go1.4

0x02 安装 Go

我们有两种方式下载 Go,一个是直接,另一个是通过 GitHub 克隆项目,个人推荐选择第二种,地址:。

首先将项目克隆到本地。

$ git clone https://github.com/golang/go.git ~/.golang/go

然后再复制一份作为 1.4 版本的目录。

$ cp -r go go1.4

进入 1.4 的文件夹后,将切换分支开始安装。

$ git checkout -b release-branch.go1.4 origin/release-branch.go1.4$ cd go1.4/src$ ./make.bash

编译安装好之后,进入之前的 go 文件夹,真正开始编译安装 Go。

$ cd go/src$ ./make.bash

最后,我们试试 go version 来查看版本,可能会发现很奇怪的东西。

$ go versiongo version devel +d64c49098c Sun May 28 10:23:38 2017 +0000 darwin/amd64

这是我们编译了 HEAD 的版本,也就是最新提交的版本,这个版本并不稳定。我们可以将分之切换到稳定版本来进行安装。截止到这篇文章,Go 的最新稳定版本时 1.8.3。所以我们要讲分支切换到 release-branch.go1.8

0x03 完整命令

$ echo "export GOROOT=$HOME/.golang/go" >> ~/.bash_profile$ echo "export GOPATH=$HOME/.golang/path" >> ~/.bash_profile$ echo "export PATH=$PATH:$HOME/.golang/go/bin" >> ~/.bash_profile$ echo "export GOROOT_BOOTSTRAP=$HOME/.golang/go1.4" >> ~/.bash_profile$ source ~/.bash_profile$ cd ~$ mkdir .golang$ git clone https://github.com/golang/go.git go$ cp -r go go1.4$ cd go1.4$ git checkout -b release-branch.go1.4 origin/release-branch.go1.4$ cd src$ ./make.bash$ cd ../../go$ git checkout -b release-branch.go1.8 origin/release-branch.go1.8$ cd src$ ./make.bash$ go version
  •  

转载于:https://my.oschina.net/gdxz111/blog/1615948

你可能感兴趣的文章
Python编程语言
查看>>
十四、转到 linux
查看>>
Got error 241 'Invalid schema
查看>>
ReferenceError: event is not defined
查看>>
男人要内在美,更要外在美
查看>>
为什么要跟别人比?
查看>>
app启动白屏
查看>>
Oracle 提高查询性能(基础)
查看>>
学习知识应该像织网一样去学习——“网状学习法”
查看>>
Hadoop集群完全分布式安装
查看>>
QString,char,string之间赋值
查看>>
我的友情链接
查看>>
Nginx+mysql+php-fpm负载均衡配置实例
查看>>
shell脚本操作mysql数据库 (部份参考)
查看>>
MySql之基于ssl安全连接的主从复制
查看>>
informix的逻辑日志和物理日志分析
查看>>
VMware.Workstation Linux与windows实现文件夹共享
查看>>
ARM inlinehook小结
查看>>
wordpress admin https + nginx反向代理配置
查看>>
管理/var/spool/clientmqueue/下的大文件
查看>>