设为首页 收藏本站
查看: 981|回复: 0

[经验分享] 从源码(编译)安装golang

[复制链接]

尚未签到

发表于 2018-9-20 07:56:28 | 显示全部楼层 |阅读模式
从源码安装golang
  通常情况下,安装go只需要在官网(https://golang.org/dl/)下载适合系统的二进制发布包,按照安装说明进行安装即可。
  对于Linux, Mac OS X和FreeBSD系统下的安装,三步即可完成:
  1.下载tarballs文件go$VERSION.$OS-$ARCH.tar.gz,例如1.8.3
  wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz)
  2.执行tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz提取到 /usr/local
  3.设置环境变量,将/usr/local/go/bin 加入到PATH环境变量。可以通过将
  export PATH=$PATH:/usr/local/go/bin 添加到/etc/profile或$HOME/.profile文件的最后一行。
  对于windows系统下的安装,可以下载msi安装包,安装程序自动将go发布拷贝到c:\go目录下,并且将c:\go\bin目录加入到PATH环境变量。
  如果安装位置不是/usr/local/go或者c:\go目录,则需要设置GOROOT环境变量,将GOROOT/bin加入到PATH环境变量。
  Go的一大特征是简单,通过下载二进制发布包安装go环境就充分体现了简单性。
  某些时候,可能要使用特殊版本的go,从源码安装,这同样很简单。从源码安装,首先要进行编译。Go 1.5实现了bootstrapping,所以编译1.5以后的版本和编译1.5以前的版本会略有不同。bootstrapping是编译器领域的一个术语,中文翻译为自举或自展,通俗地讲“用要编译的目标语言编写其编译器(汇编器)”。Go1.5开始编译器和运行时完全用Go语言编写(还有少量汇编);go1.4是最后一个用C编写工具链的发布。
  编译go1.4,ubuntu 16.04.2系统
  cd ~
  wget https://storage.googleapis.com/golang/go1.4-bootstrap-20170531.tar.gz
  tar zxvf go1.4-bootstrap-20170531.tar.gz
  cd go/src/
  ./all.bash
  编译完成后,可以看到如下输出:
  ALL TESTS PASSED
  ---
  Installed Go for linux/amd64 in /home/dell/go
  Installed commands in /home/dell/go/bin
  *** You need to add /home/dell/go/bin to your PATH.
  成功编译后,将~/go/bin加入到PATH环境变量
  sudo gedit /etc/profile
  在最后一行加入  export PATH=/home/dell/go/bin:$PATH  保存
  source /etc/profile
  执行go version,检查安装
  dell@dell-VirtualBox:~/go/src$ go version
  go version go1.4-bootstrap-20170531 linux/amd64
  编译Go1.5及以上版本
  Go 1.5开始编译器和运行时用go自身编写,要编译它们,首先要安装go编译器。all.bash 编译脚本会在$GOROOT_BOOTSTRAP环境变量中查找一个已经存在的go tool chain,实际上就是要有一个编译好的bin/go程序,$GOROOT_BOOTSTRAP/bin/go应该是go二进制命令。有很多选择,可以在官网(https://golang.org/dl/)下载go发布包;也可以用go1.4源码编译,也就是按照上面的步骤编译go1.4,然后再去编译更高版本的go。
  用官方下载的go1.7编译go 1.8,ubuntu 16.04.2 举例:
  cd ~
  wget https://storage.googleapis.com/golang/go1.7.6.linux-amd64.tar.gz
  wget https://github.com/golang/go/archive/go1.8.3.tar.gz
  tar zxvf go1.7.6.linux-amd64.tar.gz
  tar zxvf go1.8.3.tar.gz
  export GOROOT_BOOTSTRAP=/home/dell/go
  cd go-go1.8.3/src
  ./all.bash
  编译成功后,有如下输出:
  ##### API check
  Go version is "go1.8.3", ignoring -next /home/dell/go-go1.8.3/api/next.txt
  ALL TESTS PASSED
  ---
  Installed Go for linux/amd64 in /home/dell/go-go1.8.3
  Installed commands in /home/dell/go-go1.8.3/bin
  *** You need to add /home/dell/go-go1.8.3/bin to your PATH.
  sudo gedit /etc/profile 将export PATH=/home/dell/go-go1.8.3/bin:$PATH 加入到文件最后一行
  执行go version 检查安装
  dell@dell-VirtualBox:~/go-go1.8.3/src$ go version
  go version go1.8.3 linux/amd64
  不管从二进制安装还是从源码安装,go就是这么简单!


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-598137-1-1.html 上篇帖子: Golang学习 - io/ioutil 包 下篇帖子: golang中map的值引用问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表