阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

如何在Mac源码安装Go1.5开发环境

206次阅读
没有评论

共计 2078 个字符,预计需要花费 6 分钟才能阅读完成。

到这里下载 Go 语言源码包。
Go1.4 到 Go1.5 是 Go 语言脱胎换骨的一次变更,The gc tool chain is being converted from C to Go。具体为什么,文章最后有两段网摘的说明可以借鉴。
这里主要说明如何在 Mac 上源码部署 Go1.5 开发环境。
Go1.5 开发环境依赖 Go1.4 版本作为引导,因为 Go1.5 使用 Go 本身来编译安装 Go,所以必须保证服务器上已经安装 Go1.4,这完全是为了解决先有鸡还是先有蛋的问题,当然如果你想避免编译安装 1.4 也可以直接使用二进制包。
在这里假设你希望将 go1.5 安装到 $HOME/go1.5 目录下,只需要以下几步:

  • 下载 Go1.5 的源码放到 $HOME/go1.5 目录下
  • 在安装 Go1.5 之前需要将 Go1.4 放到 $HOME/go1.4 下面或者 export GOROOT_BOOTSTRAP=/go1.4 安装目录 /
  • 到 $HOME/go1.5/src/ 下执行 all.bash 即可

我习惯将软件安装至 /usr/local/ 下,以下为我安装 Go1.5(/usr/local/go1.5)的步骤:

wget https://storage.googleapis.com/golang/go1.5.1.src.tar.gz
tar zxvf go1.5.1.src.tar.gz
mv ./go /usr/local/go1.5
wget https://storage.googleapis.com/golang/go1.4.3.src.tar.gz
tar zxvf go1.4.3.src.tar.gz
mv ./go /usr/local/go-bootstrap1.4/
cd /usr/local/go-bootstrap1.4/src
./all.bash // 编译安装 Go1.4,有可能 test 不通过,只要编译通过,test 可忽略,目的是需要 go1.4 的二进制包来编译 1.5
cd /usr/local/go1.5/src
GOROOT_BOOTSTRAP=/usr/local/go-bootstrap1.4 ./all.bash     // 可在环境变量中添加 GOROOT_BOOTSTRAP,然后再编译 Go1.5

以下为网摘:

From C to Go
The gc tool chain is being converted from C to Go.
An ongoing process, started early 2014. 
Russ Cox says "It'll be done by March [2015]."New link tool to replace 6l, 8l, etc. 
New asm tool to replace 6a, 8a, etc. 
Machine-translated gc to replace 6g, 8g, etc.
Design doc:
golang.org/s/go13compiler
Go 1.5 will have no C code in the tool chain or runtime.
Go 语言将使用 Go 代替 C 重写运行时环境

Go 1.4 的合并窗口在 9 月份将关闭,从现在开始到 12 月份发布 Go 1.4 之前将只接受 bug 修复和小调整。Go 1.4 最主要的变化是将使用 Go 语言本身来重写 Go 的运行时,而之前是采用 C 语言开发。这也是为什么 Go 的发行版中包含一个 C 编译器的原因。使用 Go 重写的好处是:当前如果在 Goroutine 的调用堆栈中发现 C 代码,runtime 将在需要增长堆栈时回滚到老的堆栈方法。如果使用 Go 来重写 runtime,那么堆栈拷贝的方法就会更加高效
目前转换工作只计划转 Go 编译器 (5g, 6g, 8g), 而不是 C 编译器,降低运行时中的 C 代码行数,甚至可能完全清除
注意
这是 golang.org 分发版,也就是 gc,而不是 gccgo
这是不同的 C 编译器,gc 工具链将使用你系统的 C 编译器来编译,gc 运行时则使用它的 C 编译器来编译
820 日后增加的转换行可能跟 this request 有关.
  • Go 语言将使用 Go 代替 C 重写运行时环境

    — 从现在开始到 12 月份 Go 1.4 版本发布前,Go 将只接受 Bug 修复和小范围的调整,Go 1.4 版本将实现使用 Go 语言来重写 Go 的运行时环境。

Linux 系统入门学习 - 在 Linux 中安装 Go 语言  http://www.linuxidc.com/Linux/2015-02/113159.htm

Go 1.5 编译器与运行时环境由 Go 语言自身编写  http://www.linuxidc.com/Linux/2015-08/122406.htm

Ubuntu 安装 Go 语言包 http://www.linuxidc.com/Linux/2013-05/85171.htm

《Go 语言编程》高清完整版电子书 http://www.linuxidc.com/Linux/2013-05/84709.htm

如何为 Linux 安装 Go 语言  http://www.linuxidc.com/Linux/2015-09/123114.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-10/124399.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2078字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中