编译安装golang1.7及golang程序的交叉编译
鉴于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,整个过程就结束了。 这里想要介绍的,是更为简介的方案(文末附官方下载地址)。 源码编译步骤如下:0.更新ubuntusudo apt-get update && sudo apt-get upgrate -y
如果进度卡在 flasgPlugin-installer,用ctrl+c结束,再执行一次即可。 1.下载并编译go1.4.x下载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
的提示信息结束了编译过程。这个时候go1.4.x已经编译好了。 2.下载并编译go1.7下载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
如果是/usr/local目录的go中编译,则会是: Installed Go for linux/amd64 in /usr/local/you/go
Installed commands in /usr/local/go/bin
这个时候go1.7就已经编译完成了,go1.4.x可以删掉了。 3.设置环境变量将xx/go/bin加入PATH。如果是在用户目录编译,在命令行运行 echo 'PATH=$PATH:/home/zhangsan/go/bin' >> ~/.bashrc
如果是在/usr/local目录的go中编译,在命令行运行 echo 'PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
将工作代码路径设置为GOPATH。假设工作代码存放路径为 /home/zhangsan/workCode/src/hello/hello.go,/home/zhangsan/workCode/src/foobar/foobar.go 等,则设置GOPATH为 /home/zhangsan/workCode,在命令行运行 echo 'GOPATH=$HOME/workCode' >> ~/.bashrc
即可。至此go1.7已经安装配置完成,运行go version和go env看看能不能正确输出相关信息。 交叉编译从go1.5开始,将源码编译成非本地系统的程序,不再需要先生成目的系统的编译工具了,直接加参数编译即可,例如在64位ubuntu上想要编译64位windows的程序,在源码路径下执行 GOOS=windows GOARCH=amd64 go build
就结束了(其中GOARCH=amd64可以省略)。当然如果是32位windows,则由于目的系统和本地系统架构不一致需要显示指明,命令变为 GOOS=windows GOARCH=386 go build
golang源码及安装包官方地址(可直接访问) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |