本文主要介绍服务器端环境配置,开发环境是window的话可以参考 https://www.cnblogs.com/nickchou/p/10765743.html

方式一、用yum安装

1、用yum指令安装缺点是:不是最新版

yum install golang

方式二、使用二进制文件安装 【推荐】

标准官网:https://golang.org/ 需要墙

镜像官网:https://golang.google.cn/dl/ 【国内推荐】

1、下载文件

wget https://dl.google.com/go/go1.13.5.linux-amd64.tar.gz

2、解压文件到 /usr/local

如果之前已经安装过go的版本,先清空下go下面src,不然可能会报一些previous declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:16:24的错误

rm -rf /usr/local/go

解压go包

tar -zxf go1.13.5.linux-amd64.tar.gz -C /usr/local

3、配置环境变量,vim指令编辑 /etc/profile

vim /etc/profile

4、在/etc/profile文件末尾添加以下配置,输入 :wq保存

这里的GO111MODULE配置是go1.11后出的一种新的包管理go modules方式代替vendor机制,可以不需要GOPATH,项目代码也不一定要放在GOPATH下面 可参考https://www.cnblogs.com/apocelipes/p/9534885.html

GO111MODULE=auto 自动

GO111MODULE=on 使用go modules,不会在vendor和gopath找依赖 【推荐新版都用这种】

GO111MODULE=off 使用vendor 或者gotpath

注意:下面的GO111MODULE可以不需要配置了

#golang env config
export GO111MODULE=on
export GOROOT=/usr/local/go
export GOPATH=/home/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

切换到/home目录,并创建gopath文件夹,后面开发和编译过程中用go get安装第三方包会用到

cd /home
mkdir gopath

5、使换将变量配置生效,并查看golang的版本

source /etc/profile
go version

6、GO1.13设置代理环境变量,再拉去golang.org的时候就不需要墙了。注意GO1.13才支持direct的写法

go env -w GOPROXY=https://goproxy.cn,direct

设置完后用 go env 查看,window和liunx都一样

7、安装完毕写一个helloworld测试

切换到gopath目录,创建一个hello.go

cd /home/gopath
vim hello.go

复制粘贴helloworld代码, :wq保存即可

package main
import "fmt"
func main() {
fmt.Printf("Hello, world!\n")
}



运行代码

go run hello.go

centos 7 安装golang1.12.5的更多相关文章

  1. CentOS 7安装Teamviewer 12

    1 下载teamviewer 12的rpm包 方法一:访问官网 https://www.teamviewer.com/en/download/linux/ 方法二:wget https://downl ...

  2. centos 7安装golang1.10

    一.安装&配置 官方下载包(一般需要梯子) https://golang.org/dl/ wget https://dl.google.com/go/go1.10.linux-amd64.ta ...

  3. centos 7 安装vmware 12

    1.下载VMware 衔接地址 http://www.vmware.com/products/workstation/workstation-evaluation ,下载Linux版本的VMware. ...

  4. centos 6.9 编译安装 Nginx1.12.1

    centos 6.9 使用yum 安装 Nginx1.12.1 Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由伊戈 ...

  5. NoSql1 在Linux(CentOS)上安装memcached及使用

    前言:       今天是初五,生活基本要从过年的节奏中回归到正常的生活了,所以想想也该想想与工作有关的事情了.我之前在工作中会经常使用memcached和redis,但是自己一直没有时间系统的好好看 ...

  6. Centos 7 安装 设置 IP地址,DNS,主机名,防火墙,端口,SELinux (实测+笔记)

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7.0-1406-x86_64-DVD.iso 安装步骤: 1.虚拟系统安装 1.1 使 ...

  7. centos yum 安装 mongodb 以及php扩展

    centos yum 安装 mongodb 以及php扩展 投稿:hebedich 字体:[增加 减小] 类型:转载 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用 ...

  8. CentOS 下安装

    2016年12月5日15:25:58 ----------------------------------- 通常情况下在centos下安装软件就用yum. 关键是,使用yum你要知道安装包的名字是什 ...

  9. [Linux]CentOS下安装和使用tmux

    前天随意点开博客园,看到了一篇关于tmux的文章 Tmux - Linux从业者必备利器,特意还点进去看了.毕竟Linux对于做游戏服务端开发的我来说,太熟悉不过了.不过我就粗略地看了一眼,就关掉了. ...

随机推荐

  1. 深入解析AJAX的原理

    AJAX:Asynchronous JavaScript And Xml(异步的JS和XML) 同步:客户端发起请求>服务端的处理和响应>客户端重新载入页面(循环) 异步:客户端实时请求& ...

  2. Python9-MySQL-MySQL-ORM框架-day48

    ORM框架:AQLAlchemy-作用: 1.提供简单的规则 2.自动转换成SQL语句 -DB first: 手动创建数据库以及表 -> ORM框架 -> 自动生成类 code first ...

  3. 自动发现项目中的URL,django1版本和django2版本

    一.django 1 版本 routers.py import re from collections import OrderedDict from django.conf import setti ...

  4. 动态规划:HDU1789-Doing Homework again

    Doing Homework again Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

  5. HDU4616 树形DP+三次深搜

    这题和之前那个HDU2616有着奇妙的异曲同工之处..都是要求某个点能够到达的最大权重的地方... 但是,这题加了个限制,要求最多只能够踩到C个陷阱,一单无路可走或者命用光了,就地开始清算总共得分之和 ...

  6. 洛谷P1540 机器翻译

    题目链接:https://www.luogu.org/problemnew/show/P1540

  7. heap&stack的区别

    1. heap (堆)是一个可动态申请的内存空间,一般所有创建的对象和数组都放在这里.stack (栈)是一个先进后出的数据结构,通常用于保存方法(函数)中的参数,局部变量.stack (栈)的空间小 ...

  8. json对象数据列数

    // var len = data.length(); // alert(data.Rows.length); var colCount = (function count(){//一条记录中有几个键 ...

  9. Django之session验证的三种姿势

    一.什么是session session是保存在服务端的键值对,Django默认支持Session,并且默认是将Session数据存储在数据库中,即:django_session 表中. 二.FVB中 ...

  10. Python+selenium(警告框处理)

    在Webdriver中处理JavaScript生成的alert.confirm.prompt,使用switch_to_alert()方法定位到alert.confirm.prompt,然后进行如下操作 ...