在 linux 安装 GO 有两种方式。

  • 一种是使用 apt-get 命令安装。

  • 第二种是使用 安装包安装

使用 apt-get 安装

sudo apt-get update  #更新安装列表

apt-get install golang  #安装golang

如果是 mac系统 ,推荐使用 brew 安装,但是在ubuntu中,不太建议使用 apt-get 的方式进行安装。因为这样安装到 GO 的版本号,会远远落后于 GO 的最新版本

使用安装包安装

本文安装,环境 Ubuntu 22.04 ,其他 linux 环境,安装过程大致相同

1. 下载压缩包

在写这篇文章的时候,Go 的最新版为 1.18.7。在我们下载安装包时,请浏览 Go 官方下载页面,并且检查一下是否有新的版本可用。

wget -c https://dl.google.com/go/go1.18.7.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local

注意:

  • 一般电脑或者服务器都是 amd64 位系统,所以下载 amd64 版本

  • 解压到 usr/local 文件夹下。 此文件是存放手工安装的软件保存位置。linux 一般建议源码包软件安装在这个位置

2. 先设置 gopatch 和 goroot

echo 'export GOROOT="{你Golang的安装目录}"' >> ~/.bash_profile
echo 'export GOPATH="$HOME/.go" >> ~/.bash_profile
echo 'export PATH="$GOPATH/bin:$PATH"' >> ~/.bash_profile

注意

  • goroot: go 的安装目录

  • gopatch:默认采用和 $GOROOT 一样的值,但从 Go 1.1 版本开始,你必须修改为其它路径。它可以包含多个包含 Go 语言源码文件、包文件和可执行文件的路径,而这些路径下又必须分别包含三个规定的目录:srcpkgbin,这三个目录分别用于存放源码文件、包文件和可执行文件。

3. 设置代理

vim ~/.bash_profile         # 打开文件

export GO111MODULE=auto
export GOPROXY=https://goproxy.cn,https://goproxy.io,direct
export GONOSUMDB="*" source ~/.bash_profile # 重启配置文件生效

注意: 这个地方有个小坑,执行了 source ~/.bash_profile 命令后,发现运行的环境还是不对,此时建议重启一下电脑试试。

4. 我自己的完整目录如下

export GOPATH="$HOME/.go"
export GOROOT=/usr/local/go
export PATH=$PATH:/usr/local/go/bin
export PATH=$PATH:$GOPATH:$GOROOT:/bin
export GO111MODULE=on
export GOPROXY=https://goproxy.cn,https://goproxy.io,direct
export GONOSUMDB="*"
export PATH="$GOPATH/bin:$PATH"

5. 如果你在linux,同时使用goland 和 vscore 两种编译器,建议把环境配置如下

sudo vim /etc/profile 打开文件后,在最后面输入:

export GOROOT=/usr/local/go
export GO111MODULE=auto
export GOPROXY=https://goproxy.cn,https://goproxy.io,direct
export GOPATH=$HOME/.go #这是你的工程目录,需要手动创建
export PATH=$PATH:$GOROOT/bin source /etc/profile #执行该文件

这是应用于全局的环境变量,因为 goland的环境变量默认从全局读取。所以要把配置文件放在 /etc/profile

Go 在 linux 上安装的更多相关文章

  1. 在Windows和Linux上安装paramiko模块以及easy_install的安装方法

    一.paramiko模块有什么用? paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.由于使用的是python这样的能够跨平台运行的语言 ...

  2. 在Linux上安装Oracle RAC 12 c(12.1) 虚拟机,一步一步向导

    Oracle RAC 12 c(12.1)在Linux上安装虚拟机,一步一步向导 今天我们将看到如何安装 12 c版本1 RAC(真正的应用程序集群)数据库2 Linux 64位的虚拟机 使用VMWa ...

  3. WINDOWS和Linux上安装php7 alpha 并安装 yaf

    WINDOWS和Linux上安装php7 alpha 并安装 yaf PHP技术  widuu  2个月前 (06-15)  126浏览  0评论 windows 1.windows上安装 php7 ...

  4. 在Windows和Linux上安装paramiko模块

    一.paramiko模块有什么用? paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.由于使用的是python这样的能够跨平台运行的语言 ...

  5. Linux上安装使用boost入门指导

    Data Mining Linux上安装使用boost入门指导 获得boost boost分布 只需要头文件的库 使用boost建立一个简单的程序 准备使用boost二进制文件库 把你的程序链接到bo ...

  6. 如何在Linux上安装Storm

    Storm是开源的分布式实时计算系统,能够让数据流处理变得简单.可靠,也因此在大数据领域有广泛的实际 应用.下面介绍一下如何在Linux系统上安装Storm.根据Storm官网介绍,安装Storm软件 ...

  7. linux上安装Drupal

    linux上安装Drupal 前言:国内用drupal的并不太多,网上资料也很少.要注意的是drupal尽量别使用apt来安装,特别是ubuntu平台的drupal做出了一定的更改,会妨碍后期的学习和 ...

  8. 在Linux上安装Hadoop

    先决条件: Hadoop是用JAVA写的,所以首先要安装Java.在Ubuntu上安装JDK见:http://blog.csdn.net/microfhu/article/details/766739 ...

  9. linux上安装配置samba服务器

    linux上安装配置samba服务器 在linux上安装配置samba服务器 在这给大家介绍一个不错的家伙,samba服务.如果您正在犯愁,如何在Windows和Linux之间实现资源共享,就请看看这 ...

  10. linux上安装php7 memcache扩展 和 安装服务端memcached

    linux上安装memcached不算太困难.唯一让本人感到困难的是 php7的memcache扩展安装.真的蛋疼! 先说安装服务端 memcached 1. 首先安装Libevent事件触发管理器. ...

随机推荐

  1. JZOJ 6904. 【2020.11.28提高组模拟】T3 树上询问(query)

    题目 你有一棵 \(n\) 节点的树 ,回答 \(m\) 个询问,每次询问给你两个整数 \(l,r\) ,问存在多少个整数 \(k\) 使得从 \(l\) 沿着 \(l \to r\) 的简单路径走 ...

  2. 基于WebGL的方式使用OpenLayers

    1. 引言 在绘制海量数据时,使用GPU进行绘制可有效减少CPU的负载,提升绘制时的速度在浏览器中,可以使用WebGL的方式与GPU交互 OpenLayers是一个常用的GIS相关的JavaScrip ...

  3. uniapp 自定义 picker

    前言 我们在开发的过程中经常会遇到现有插件无法满足需求的情况,毕竟不是组件库不能满足项目所有需求,这时就需要我们自己去构建组件. 写这篇博文也是记录我平时开发的,以后可能会用得到的东西.希望大家看到本 ...

  4. [GKCTF2021]RRRRSA

    [GKCTF2021]RRRRSA 题目 from Crypto.Util.number import * from gmpy2 import gcd flag = b'xxxxxxxxxxxxx' ...

  5. 如何将一个h5ad文件内部添加一个csv文件作为属性obsm

    问题展开 学习生物信息的时候发现,需要将一个M * N的csv文件作为anndata文件的.X部分,一个M * 2的csv文件作为anndata文件的空间位置信息标识. 首先先读M*N的文件 myda ...

  6. 关于使用C++调用WCF的方法

    因为近期要对接别人的接口,使用的是wcf,因为之前没有使用过wcf,更不了解它,于是在使用的时候出现了很多问题. 下面就记录一下下 在调用方法之前,我们一般都会拿到一个地址,http://xxxxxx ...

  7. node、mongodb、服务器相关

    1.CentOs搭建NodeJs服务器-Mongodb安装 2.如何将 node+mongodb 项目部署在服务器上 3.如何通过cmd开一个本地服务器 4.如何部署一个本地的web项目到服务器-搭建 ...

  8. vue 数据没更新/dom没更新/样式没更新的各种解决方式

    1.用 $forceUpdate() 强制更新 2.用 this.$set(obj, key, value)/vue.set(obj, key, value) 向响应式对象中添加一个 property ...

  9. Spring Security 5 ----默认的filter都有什么用?

    我去找参考资料时,大部分只是来自于官网,但是很少分析为什么这么干,所以网络代码只停留于demo,生产级的应用却需要另外思考,不思考会有坑哦.大部分资料,合理不合理先不说,反正通了就行.本文试图去找寻, ...

  10. Centos7提示Initial setup of CentOS Linux 7 (core)

    Initial setup of CentOS Linux 7 (core) 1) [x] Creat user 2) [!] License information (no user will be ...