Go   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了编译安装golang1.7及golang程序的交叉编译大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_502_0@  鉴于ubuntu上的apt-get方式安装的golang是1.2.1,版本过于老旧,最新版本的golang需要自己动手。最简单的方式是下载编译好的包,例如对于64位的ubuntu来说,下载go1.7.1.linux-amd64.tar.gz,解压到/usr/local,然后在bash中把 /usr/local/go/bin加入到PATH,整个过程就结束了。
  
  如果想要用源码编译安装的话就会稍稍复杂一点,然而也并没有那么复杂,例如这篇 《Install Go1.6 from source on CentOS 7 in China》(在中国网络环境下从源代码安装Go1.6到CentOS 7)就过于复杂,需要先把github上golang带版本控制信息的源码下载先来,切换到1.4.x的分支,编译1.4.x然后在切换到1.6(实际现在也可以切换到1.7),用go1.4.x编译go1.6或者更高版本。

@H_502_0@  这里想要介绍的,是更为简介的方案(文末附官方下载地址)。

源码编译步骤如下:

0.更新ubuntu

sudo apt-get update && sudo apt-get upgrate -y
@H_502_0@  如果进度卡在 flasgPlugin-installer,用ctrl+c结束,再执行一次即可。
  

1.下载并编译go1.4.x

@H_502_0@  下载go1.4.x的源码,解压到当前用户目录例如 /home/zhangsan,并命名为go1.4,进入到src目录(完整的路径为 /home/zhangsan/go/srC),在sHell中运行./all.bash,屏幕滚动编译信息,最后以

Installed Go for linux/amd64 in /zhangsan/you/go
Installed commands in /home/zhangsan/go/bin
@H_502_0@的提示信息结束了编译过程。这个时候go1.4.x已经编译好了。
  

2.下载并编译go1.7

@H_502_0@  下载go1.7的源码,解压到当前用户目录,解压完后完整的路径为/home/zhangsan/go,如果虑到其他账户使用的话,也可以解压到/usr/local,这样完整的路径就会是/usr/local/go。进入到 xx/go/src目录,在sHell中运行./all.bash(如果是在/usr/local下则运行./all.bash并输入密码),你会在屏幕的滚动信息上看到go1.4.x在编译go1.7,最后的提示信息,如果在用户目录的go中编译,则会是:

Installed Go for linux/amd64 in /home/zhangsan/go
Installed commands in /home/zhangsan/go/bin
@H_502_0@如果是/usr/local目录的go中编译,则会是:

Installed Go for linux/amd64 in /usr/local/you/go
Installed commands in /usr/local/go/bin
@H_502_0@这个时候go1.7就已经编译完成了,go1.4.x可以删掉了。
  

3.设置环境变量

@H_502_0@  将xx/go/bin加入PATH。如果是在用户目录编译,在命令行运行

@H_696_63@echo 'PATH=$PATH:/home/zhangsan/go/bin' >> ~/.bashrc
@H_502_0@如果是在/usr/local目录的go中编译,在命令行运行

@H_696_63@echo 'PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
@H_502_0@  将工作代码路径设置为GOPATH。假设工作代码存放路径为 /home/zhangsan/workCode/src/Hello/Hello.go,/home/zhangsan/workCode/src/foobar/foobar.go 等,则设置GOPATH为 /home/zhangsan/workCode,在命令行运行

@H_696_63@echo 'GOPATH=$HOME/workCode' >> ~/.bashrc
@H_502_0@即可。至此go1.7已经安装配置完成,运行go version和go env看看能不能正确输出相关信息。
  

交叉编译

@H_502_0@  从go1.5开始,将源码编译成非本地系统的程序,不再需要先生成目的系统的编译工具了,直接加参数编译即可,例如在64位ubuntu上想要编译64位windows的程序,在源码路径下执行

GOOS=windows GOARCH=amd64 go build
@H_502_0@就结束了(其中GOARCH=amd64可以省略)。当然如果是32位windows,则由于目的系统和本地系统架构不一致需要显示指明,命令变为

GOOS=windows GOARCH=386 go build
@H_502_0@golang源码及安装包官方地址(可直接访问)

大佬总结

以上是大佬教程为你收集整理的编译安装golang1.7及golang程序的交叉编译全部内容,希望文章能够帮你解决编译安装golang1.7及golang程序的交叉编译所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。