文档章节

go安装方法及安装脚本

waynehu
 waynehu
发布于 2013/05/06 15:35
字数 1014
阅读 506
收藏 2

##更新

go1.4正式版 已经发布,官方正式支持 Android 从google网站的go下载页找到对应的包,我这里是linux64位,所以我下载go1.4.linux版
本文参考自官方手册

##确定环境

go在运行时会读取环境变量,如未读到相关环境变量,则按默认值运行 例如${GOROOT}表示为安装位置,如未正确设置,会无法使用。

在家目录(~)下的.bashrc文件最后加入以下内容

$ vi .bashrc

#go安装的位置
export GOROOT=$HOME/go
#类似工作空间
export GOPATH=$HOME/mygo
#将bin目录加入环境变量
export PATH=${PATH}:${GOPATH}/bin:$GOROOT/bin
#声明32位还是64位
export GOARCH=amd64
#声明操作系统类型
export GOOS=linux


source一下,使上面新设置的环境生效
$ source .bashrc

##下载安装

我把每个golang版本都有保存在golang目录里,可以方便切换使用

现在我先安装一个1.1正式版
$ cd ~
$ mkdir golang
$ cd golang
$ wget https://storage.googleapis.com/golang/go1.4.linux-amd64.tar.gz
$ tar zxf go1.1rc1.linux-amd64.tar.gz
如果GOROOT是指向$HOME/golang/go的话,go已经安装好了,因为我要用多版本,所以多一步

我先按版本来改名
$ mv go go1.1
$ cd ~
做一个软连接,来搭配上一节的“GOROOT=$HOME/go”
$ ln -s golang/go1.4 go

go安装好了,测试一下
$ go version
如果显示“go version go1.4 linux/amd64”表示成功

我在继续做个1.3.3的吧

$ cd ~/golang
$ wget https://storage.googleapis.com/golang/go1.3.3.linux-amd64.tar.gz
$ tar zxf go1.3.3.linux-amd64.tar.gz
$ mv go go1.3.3
上面几行表示下载好并解压好了,现在开始切换

$ cd ~
把指向go1.1的软连接删掉
$ rm go
把新的连接指向1.0.3
$ ln -s golang/go1.0.3 go

go安装好了,测试一下
$ go version
如果显示“go version go1.3.3”表示安装并切换成功

然后。。。。就没有然后了,安装好了!我还以为多复杂呢,切~!

##总结

其实安装go1.1或其他版本,只要

  1. 告诉系统go将装在哪里(本文是$HOME/go
  2. 找到对应平台的文件,下载go的包
  3. 解压&装在那里

完成!绿色软件!

##脚本

以下脚本是用于64位的linux系统环境安装。

cd ~
mkdir golang
cd golang
wget https://storage.googleapis.com/golang/go1.7.3.linux-amd64.tar.gz
wget https://storage.googleapis.com/golang/go1.7.1.linux-amd64.tar.gz
wget https://storage.googleapis.com/golang/go1.7.linux-amd64.tar.gz
wget https://storage.googleapis.com/golang/go1.6.3.linux-amd64.tar.gz
wget https://storage.googleapis.com/golang/go1.6.2.linux-amd64.tar.gz
wget https://storage.googleapis.com/golang/go1.6.1.linux-amd64.tar.gz
wget https://storage.googleapis.com/golang/go1.6.linux-amd64.tar.gz
wget https://storage.googleapis.com/golang/go1.5.4.linux-amd64.tar.gz
wget https://storage.googleapis.com/golang/go1.5.3.linux-amd64.tar.gz
wget https://storage.googleapis.com/golang/go1.5.2.linux-amd64.tar.gz
wget https://storage.googleapis.com/golang/go1.5.1.linux-amd64.tar.gz
wget https://storage.googleapis.com/golang/go1.5.linux-amd64.tar.gz
wget https://storage.googleapis.com/golang/go1.4.3.linux-amd64.tar.gz
wget https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz
wget https://storage.googleapis.com/golang/go1.4.1.linux-amd64.tar.gz
wget https://storage.googleapis.com/golang/go1.4.linux-amd64.tar.gz
wget https://storage.googleapis.com/golang/go1.3.3.linux-amd64.tar.gz
wget https://storage.googleapis.com/golang/go1.3.2.linux-amd64.tar.gz
wget https://storage.googleapis.com/golang/go1.3.1.linux-amd64.tar.gz
wget https://storage.googleapis.com/golang/go1.3.linux-amd64.tar.gz
wget https://storage.googleapis.com/golang/go1.2.2.linux-amd64.tar.gz

tar zxvf go1.7.3.linux-amd64.tar.gz
mv go go1.7.3
tar zxvf go1.7.1.linux-amd64.tar.gz
mv go go1.7.1
tar zxvf go1.7.linux-amd64.tar.gz
mv go go1.7
tar zxvf go1.6.3.linux-amd64.tar.gz
mv go go1.6.3
tar zxvf go1.6.2.linux-amd64.tar.gz
mv go go1.6.2
tar zxvf go1.6.1.linux-amd64.tar.gz
mv go go1.6.1
tar zxvf go1.6.linux-amd64.tar.gz
mv go go1.6
tar zxvf go1.5.4.linux-amd64.tar.gz
mv go go1.5.4
tar zxvf go1.5.3.linux-amd64.tar.gz
mv go go1.5.3
tar zxvf go1.5.2.linux-amd64.tar.gz
mv go go1.5.2
tar zxvf go1.5.1.linux-amd64.tar.gz
mv go go1.5.1
tar zxvf go1.5.linux-amd64.tar.gz
mv go go1.5
tar zxvf go1.4.3.linux-amd64.tar.gz
mv go go1.4.3
tar zxvf go1.4.2.linux-amd64.tar.gz
mv go go1.4.2
tar zxvf go1.4.1.linux-amd64.tar.gz
mv go go1.4.1
tar zxvf go1.4.linux-amd64.tar.gz
mv go go1.4
tar zxvf go1.3.3.linux-amd64.tar.gz
mv go go1.3.3
tar zxvf go1.3.2.linux-amd64.tar.gz
mv go go1.3.2
tar zxvf go1.3.1.linux-amd64.tar.gz
mv go go1.3.1
tar zxvf go1.3.linux-amd64.tar.gz
mv go go1.3
tar zxvf go1.2.2.linux-amd64.tar.gz
mv go go1.2.2

cd ~
echo "" >> .bashrc
echo "#=======================go" >> .bashrc
echo "#go安装的位置" >> .bashrc
echo "export GOROOT=\$HOME/go" >> .bashrc
echo "#类似工作空间" >> .bashrc
echo "export GOPATH=\$HOME/mygo" >> .bashrc
echo "#将bin目录加入环境变量" >> .bashrc
echo "export PATH=\${PATH}:\${GOPATH}/bin:\$GOROOT/bin" >> .bashrc
echo "#声明32位还是64位" >> .bashrc
echo "export GOARCH=amd64" >> .bashrc
echo "#声明操作系统类型" >> .bashrc
echo "export GOOS=linux" >> .bashrc
source .bashrc
#确定要用的版本,这里是用1.7版本
ln -s golang/go1.7 go

如果要切换go的版本,例如切换到1.7.3版本

先要rm ~/go 然后ln -s golang/go1.7.3 go

完成

© 著作权归作者所有

共有 人打赏支持
下一篇: docker 记录
waynehu
粉丝 34
博文 51
码字总数 25481
作品 0
静安
私信 提问
Youtube 网站视频和字幕下载

由于工作的需要,我经常要去Youtube网站观看技术相关视频,当遇到好的视频想将视频和字幕下载下来,今天就主要介绍如果去Youtube官网下载相关视频及字幕的方法。 下面列出需要的工具: 安装完...

yelang007sheng
2017/03/18
0
0
动态扩展Nginx支持Lua功能

一、Lua说明: Lua 是一个简洁、轻量、可扩展的脚本语言,也是号称性能最高的脚本语言,用在很多需要性能的地方,比如:游戏脚本,nginx,wireshark的脚本,当你把他的源码下下来编译后,你会...

在下郑小明
2017/05/07
0
0
Linux下离线部署Node环境和前端服务

背景说明 前端项目开发完成,需要部署在第三方服务器。由于第三方服务器是脱离公网的环境,所有的前端服务和所有的依赖都需要在离线环境中部署。记录下解决方案,希望可以帮助到有类似需求的...

Jarven
2018/10/12
0
0
使用ruby的fpm模块实现对二进制MySQL的RPM包制作,实现一键安装

随着互联网的发展,一些互联网企业,甚至于传统企业的服务器也是越来越多。将面临的挑战其中之一就是自动化运维管理。假设我们需要自动化部署很多的应用,而这些应用又很复杂,过程多,需要源...

蓝色_风暴
2017/08/09
0
0
红旗Linux7下解决Opera中文输入法的问题

传说opera浏览器的速度很快,于是就有了试一试的想法。安装Opera很容易的,直接到Opera下载并 按rpm包安装指令直接安装就完成了,安装过程简介快速,比在windows安装还方便。 但是,安装完以...

鉴客
2010/04/12
463
0

没有更多内容

加载失败,请刷新页面

加载更多

传统IDC部署网站(三)

11. 重置密码 密钥和密码都支持远程登陆, 二选一 两个都可以登陆, 密钥相对于密码来说,相对安全一点 本地登陆无法是用密钥 修改密码 root 用户 passwd root 修改普通用户 passwd usernam...

miko0089
10分钟前
2
0
日志服务与SIEM(如Splunk)集成方案实战

背景信息 目标 本文主要介绍如何让阿里云日志服务与您的SIEM方案(如Splunk)对接, 以便确保阿里云上的所有法规、审计、与其他相关日志能够导入到您的安全运维中心(SOC)中。 名词解释 LOG(S...

阿里云官方博客
14分钟前
1
0
bash特性

1.支持别名 alias 2.命令替换 $(COMMANS) 或者 `COMMAND` 3. bash支持的引号: `` :命令替换 "":弱引用,可以实现变量替换 '':强引用,不实现变量替换 4.文件名通配 globbing: * : 任意长...

忙碌的小蜜蜂
19分钟前
2
0
以语音评测的PC端demo代码为例,讲解口语评测如何实现

本文由云+社区发表 作者:腾讯智慧教育 概述 腾讯云智聆口语评测(英文版)(Smart Oral Evaluation-English,SOE-E)是腾讯云推出的语音评测产品,是基于英语口语类教育培训场景和腾讯云的语...

腾讯云加社区
30分钟前
1
0
浅谈SpringMVC之DispatcherServlet

Spring的MVC框架是围绕一个DispatcherServlet其实就是个Servlet(它继承自HttpServlet基类)来设计的, 它支持可配置的处理器映射、视图渲染、本地化、时区与主题渲染、文件上传等 控制器一般...

恋码之子
33分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部