此脚本适合在windows上运行
/*适合windows和powershell上运行
*/
cd D:\go\src 源代码目录
;; 定义基础目录,在源代码目录上一层
$env:GOROOT="D:\go"
;; 位,64位
$env:GOARCH=amd64
;; 平台windows
$env:GOOS=windows
;; 指定编译器用go自己的编译器,需要先下载好。但是从gcc编译的话要从1.4进行编译,需要gcc
$env:GOROOT_BOOTSTRAP=D:\go1.7\bin\
;; 指定是否支持cgo 需要gcc支持
$env:CGO_ENABLED=0
;; 开始执行
./all.bash
以下脚本适合在linux上运行,可以根据需求分拆执行,如果是树莓派平台下载arm的自举
#!/bin/bash
# 需要sudo启动脚本
# 一些可能用到的辅助功能,好像不安装也行
apt-get install bison ed gawk gcc libc6-dev make;
# 先下载一个编译基础,go 1.4后都是自举,就是自己编译自己,1.4以前是由c和c++编译的。
# 所以要想编译最新的go,要么拿1.4源码加C/C++编译一个1.4,再自举。要么随便下载一个当前平台的go当编译器,进行编译
# 本次就简单点,下个当前平台的go,再下个最新go源码,再拿go编译go。 此地址可能很慢
wget https://storage.googleapis.com/golang/go1.9.1.linux-amd64.tar.gz
tar -zvxf go1.9.1.linux-amd64.tar.gz
# 重命名
mv go go19
# 下载源码,此地址可能很慢
wget https://storage.googleapis.com/golang/go1.9.1.src.tar.gz
tar -zvxf go1.9.1.src.tar.gz
# 设置环境变量
export GOPATH=$HOME/go
export GOROOT=$HOME/go
export GOBIN=$HOME/go/bin
export GOARCH=amd64
export GOOS=linux
# 设置,自举编译器路径
export GOROOT_BOOTSTRAP=$HOME/go19
$env:CGO_ENABLED=0
# 跳转目录
cd $HOME/go/src
# 开始编译
./all.bash