go语言是一种开源的、语法精简的静态编程语言,它的开源社区比较庞大,应用场景非常广范。可以用于系统监控、容器技术(Docker)、大数据、存储技术、分布式系统(Hyperledger Fabric)、消息系统(Kafka客户端)、服务器管理、安全工具、Web工具等。
这里介绍在Linux上安装并配置go。
1、下载go安装包

到GoLang中国,https://golang.google.cn/dl/ 下载Go语言安装包对饮版本。

解压该安装包

tar -C /usr/local -xzf go1.16.6.linux-amd64.tar.gz

2、在/usr/local新建一个文件夹gocode

cd /usr/local
mkdir gocode

3、修改/etc/profile配置文件

su root
vim /etc/profile   
## 添加如下路径:
export GOROOT=/usr/local/go
export GOPATH=/usr/local/gocode
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH

4、使配置文件生效

source /etc/profile

理解一下Golang的环境变量

安装完Golang之后,可以通过go env命令查看环境变量配置

在日常开发中,我们需要重点关注GOPROXYGOROOTGOPATHGOBIN,其他配置项可以在需要的时候再查询文档进行配置。

OPROXY

GOPROXY就是设置Golang的全局代理。在下载依赖包的时候,一般是访问github的仓库,国内的环境很容易被墙,所以最好设置一个速度快的代理。Go在此版本中GOPROXY的默认值为https://proxy.golang.org,国内是无法访问的。因此,这里推荐使用七牛云的代理https://goproxy.cn

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

GOROOT

GOROOT其实就是Golang安装的绝对路径,例如笔者把他安装在I:\Environment\Go目录下,所以:

λ go env
...
set GOROOT=I:\Environment\Go
...

GOROOT需要加入到系统变量Path里面,添加成功后才能在命令行使用go [Command]

GOPATH和GOBIN

GOPATH可以简单理解为工作目录,如果用过Eclipse,那么GOPATH可以类比为Eclipse中的WorkSpace的概念。GOPATH目录约定由三个子目录:

$GOPATH- src  ---  存放源代码,go run、go install等命令就是在当前的工作路径中执行(也就是这些命令执行的目标文件夹就是这个src文件夹)- pkg  ---  存放编译时生成的中间文件- bin  ---  存放编译后生成的可执行文件

GOPATH变量可以设置多个值,多个值之间使用特定的分隔符隔开,例如在Windows系统,分隔符是英文的分号;

λ go env
...
set GOPATH=C:\Users\doge\go;I:G-Projects
...

值得注意的是:go get命令下载的依赖包会下载在GOPATH指定的第一个值对应的目录中,也就是$Users/$User/go目录下。

GOBIN用于指定go install目标保存路径,目的是避免将所有工作空间的bin路径添加到PATH环境变量中(因此在使用版本控制时,尽量忽略binpkg,建议直接在src,或者具体的子包下创建代码仓库)。于此相反的做法,就是在Linux或者Unix系统中,可以在PATH中添加export PATH=$PATH:${GOPATH//://bin:}/bin下把每个GOPATH下的bin都加入到PATH中。

重点来了:Module的出现,就是为了弱化GOPATH的概念,使用Module去管理项目的依赖,那么可以基本忽略GOPATH的原有的功能。

Golang提供的命令

可以通过命令行go help查看Go提供的命令行工具

更多参考:https://cloud.tencent.com/developer/article/1650021

Linux平台安装go并配置go环境相关推荐

  1. Win11 WSL Linux子系统安装与注销 配置conda环境 启动jupyter

    1 前言 本篇博客讲解如何在Windows11系统中安装与注销Linux子系统,并配置conda环境.jupyter环境,实现在Local浏览器启动jupyter并运行项目. 2 安装Linux子系统 ...

  2. Linux虚拟机(安装redis失败)配置网络环境

    在使用虚拟机配置Redis时遇到无法下载的问题, 有可能是两个原因 1.VMware虚拟网卡未识别网络 2.虚拟机没有配置网络环境,导致无法联网下载. 因为没有联网,所以我们在虚拟机中访问百度是访问不 ...

  3. linux下安装php并配置运行环境

    1.安装PHP (1)获得PHP源码:php-5.4.1.tar.gz(最新版本为5.4.2),保存到/usr/local目录下.下载地址:http://cn.php.net/get/php-5.4. ...

  4. 三.Linux平台安装MongoDB

    Linux平台安装MongoDB 1.配置方法 安装(使用yum源安装) 在/etc/yum.repos.d 创建一个mongodb-org.repo源文件 vi /etc/yum.repos.d/m ...

  5. 在Linux上安装Gearman及配置使用Gearman的PHP扩展环境

    在Linux上安装Gearman及配置使用Gearman的PHP扩展环境. 先介绍安装 Gearman . 1. 先安装依赖库 # yum install -y boost-devel gperf l ...

  6. linux安装redis插件,Linux平台安装redis及redis扩展的方法

    本文实例讲述了Linux平台安装redis及redis扩展的方法.分享给大家供大家参考,具体如下: 本教程使用的文档版本为 2.8.17,下载并安装: $ wget http://download.r ...

  7. Asterisk 服务器 Linux平台安装教程

    文章目录 前言 一.总体流程 二.源码下载地址,包括各种需要的库的地址 三.配置安装路径.库路径 四.libuuid库没有自定义配置路径,手动修改configure脚本 五.pjproject自定义路 ...

  8. 《Linux/UNIX OpenLDAP实战指南》——2.3 Linux平台安装

    本节书摘来自异步社区<Linux/UNIX OpenLDAP实战指南>一书中的第2章,第2.3节,作者:郭大勇著,更多章节内容可以访问云栖社区"异步社区"公众号查看 2 ...

  9. Ubuntu - 安装 jdk 、配置 Java 环境变量、编辑 Test.java 文件并输出 Hello World!

    先利用的 Xshell 或者 Xftp 把本地下载好的 Linux 版本的 jdk 复制到 Ubuntu 虚拟机下的 /home/zhouk/user/DevTools 目录下 解压:tar -xzv ...

最新文章

  1. 机器学习的第一个难点,是数据探索性分析
  2. 解决wamp、vertrigo等集成环境安装后apache不能启动的问题
  3. MAMP mac下启动Mysql
  4. 迪拜的经济支柱是什么?
  5. Druid 连接池的实用 配置详解
  6. Vue2.x 踩坑与总结
  7. linux command1
  8. 中兴面试一个星期没有回音_如何在没有回声的情况下从亚马逊获取即时时尚建议...
  9. Office web app server2013详细的安装和部署
  10. unity基础知识笔记一(快捷方式、基础概念)
  11. python根据相关系数绘制热力图
  12. (转)AssetBundle系列——共享资源打包/依赖资源打包
  13. Print Conductor批量打印工具,Print Conductor|Crack版
  14. Linux上如何安装微信! 或登录网页版微信提示:为了你的帐号安全,此微信号不能登录网页微信。你可以使用Windows微信或Mac微信在电脑端登录。
  15. EBS功能_Oracle ERP系统借贷关系
  16. PhysX3.4文档(4) --Rigid Body Overview
  17. 养生年龄的早龄化一一朱乐睿教授
  18. 2017计科01-08编译原理模拟测试2--chap03
  19. i12蓝牙耳机怎么设置成中文_windows10的蓝牙怎么打开?如何修复Windows 10中的蓝牙问题...
  20. Struts2-052 漏洞复现

热门文章

  1. Anaconda下安装 TensorFlow 和 keras 以及连接pycharm
  2. aspnet 后台调用前台js函数
  3. [修正] Firemonkey Windows 控件有虚线残影问题
  4. linux diff详解
  5. 大数据之-Hadoop3.x_Yarn_全流程作业---大数据之hadoop3.x工作笔记0143
  6. Vue打包发布项目---vue工作笔记0020
  7. ES11新特性_String.prototype.matchAll方法---JavaScript_ECMAScript_ES6-ES11新特性工作笔记063
  8. 大数据_Flink_流式处理_简介_为什么要用Flink---Flink工作笔记0002
  9. security工作笔记007---spring security自定义AuthenticationProvider,验证规则
  10. fckeditor异常总结---1.NoClassDefFoundError: org/slf4j/LoggerFactory和NoClassDefFoundError: org/apache/log