Tips:本文以本文撰写时的 Go 语言最新版本,也就是 go.1.19.2 版本为例。 Linux 发行版本使用 Ubuntu 22.04.1 LTS 为例来做演示。

安装 C 工具

Go 的工具链是用 C 语言编写的,因此在安装 Go 之前你需要先安装相关的 C 工具。如果你使用的是 Ubuntu 的话,你可以在终端输入以下指令( 由于网络环境的特殊性,你可能需要将每个工具分开安装 )。

sudo apt-get install bison ed gawk gcc libc6-dev make

你可以在其它发行版上使用 RPM 之类的工具。

Go 语言的下载

找到对应的Linux安装包,最新版是 go1.19.2.linux-amd64.tar.gz 这个文件,然后复制下载链接

下载 Linux 版本的 Go 语言环境压缩包,在 Linux 终端中输入下面这条命令:

wget https://go.dev/dl/go1.19.2.linux-amd64.tar.gz

解压语言包

解压文件,一般解压到 /usr/local。解压后得到 /usr/local/go 文件夹,这一步可能需要 root 权限,如果你是 root 账号,则可以不加 sudo 。

sudo tar -C /usr/local -zxvf  go1.19.2.linux-amd64.tar.gz

Go语言环境配置

得到完整的 Go 语言环境之后,我们需要将其可执行文件路径配置到环境变量中,使其在任何一个目录均可使用。如果你是 root 账号,可以不加 sudo。

我们在 Linux 系统下一般通过 $HOME/.bashrc 配置自定义环境变量,根据不同的发行版也可能是文件 $HOME/.profile

  • 单一用户:~/.bash_profile
  • 所有用户:/etc/profile
sudo vi /etc/profile

在打开的文件末尾加入环境变量配置,需要配置 GOPATHGOROOT ,出于个人习惯,建议 GOPATH 配置两个,第一个用于存储 Go 语言的第三方包,第二个用于存储自己开发的代码。

export GOROOT=/usr/local/go
export PATH="$PATH:$GOROOT/bin"
export GOPATH=$HOME/go/lib:$HOME/go/work

环境变量配置完毕后使用 source 指令来使环境变量生效

source /etc/profile

最后验证安装成功,输出正确的版本号。

GOROOT 和 GOPATH

GOROOT 是 Go 语言的安装目录,类似于 JAVA 中的 JAVA_HOME。

GOPATH 是你代码中的引用的包所在的位置,可以看成是工程目录,可以设置多个。

如果你设置了多个工作目录,那么当你在之后使用 go install(远程包安装命令)时远程包将会被安装在第一个目录下。

Golang入门:Linux上的go语言安装与配置的更多相关文章

  1. CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境

    CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境 什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/ ...

  2. Linux(Ubuntu)下MySQL的安装与配置

    转自:http://www.2cto.com/database/201401/273423.html 在Linux下MySQL的安装,我一直觉得挺麻烦的,因为之前安装时就是由于复杂的配置导致有点晕.今 ...

  3. Python入门:Anaconda和Pycharm的安装和配置

    Python入门:Anaconda和Pycharm的安装和配置  转自:https://www.cnblogs.com/yuxuefeng/articles/9235431.html 子曰:“工欲善其 ...

  4. Linux/CentOS环境下如何安装和配置PhantomJS工作环境

    PhantomJS 是一个基于WebKit的服务器端 JavaScript API.它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, C ...

  5. 【Qt开发】Qt Creator在Windows上的调试器安装与配置

    Qt Creator在Windows上的调试器安装与配置 如果安装Qt时使用的是Visual Studio的预编译版,那么很有可能就会缺少调试器(Debugger),而使用MSVC的Qt对应的原生调试 ...

  6. Java程序员的Golang入门指南(上)

    Java程序员的Golang入门指南 1.序言 Golang作为一门出身名门望族的编程语言新星,像豆瓣的Redis平台Codis.类Evernote的云笔记leanote等. 1.1 为什么要学习 如 ...

  7. 如何用golang获取linux上文件的访问/创建/修改时间

    在linux上想获取文件的元信息,我们需要使用系统调用lstat或者stat. 在golang的os包里已经把stat封装成了Stat函数,使用它比使用syscall要方便不少. 这是os.Stat的 ...

  8. XVFB实现selenium在linux上无界面运行安装篇

    selenium在linux上无界面运行,其实是非常简单的.具体的方法有使用HtmlUnitDriver或者PhantomJSDriver,有时间我会写写关于这两个东东的文章,其实基本和ChromeD ...

  9. linux上源码编译安装mysql-5.6.28

    在 linux 上编译安装 mysql-.tar.gz http://www.mysql.com/ mysql下载地址: http://www.mysql.com/downloads/mysql/#d ...

  10. 在Linux上使用C语言编程获取IPv4地址及子网掩码

    在Linux上(如Ubuntu或CentOS), 获取某个Network Interface比如eth0的IP地址等信息,我们可以使用ifconfig或者ip addr show命令. $ ifcon ...

随机推荐

  1. OGC标准地图服务协议总结

    OGC标准地图服务协议总结 1. WMS WMS(Web Map Service)是OGC(Open Geospatial Consortium)定义的一种地图服务协议.它允许客户端通过HTTP请求从 ...

  2. Note -「Lagrange 反演」记笔习学

      也许施工完成啦?   对于常数项为 \(0\),一次项非 \(0\) 的多项式 \(F,G\),定义复合运算 \(\circ\),满足 \[(F\circ G)(x)=F(G(x))=\sum_{ ...

  3. Mysql身份认证过程

    背景 最近有一些hersql的用户希望能支持mysql的caching_sha2_password认证方式,caching_sha2_password与常用的mysql_native_password ...

  4. Java内存模型深度剖析

    为什么要有内存模型  在介绍Java内存模型之前,先来看一下到底什么是计算机内存模型,然后再来看Java内存模型在计算机内存模型的基础上做了哪些事情.要说计算机的内存模型,就要说一下一段古老的历史,看 ...

  5. w3cschool-Linux 教程

    https://www.w3cschool.cn/linux/ Linux 安装 本章节我们将为大家介绍 Linux 的安装,安装步骤比较繁琐,现在其实云服务器挺普遍的,价格也便宜,如果自己不想搭建, ...

  6. matlib:图像旋转-缩放

    需求 使用MATLAB尝试完成一个自定义的图像攻击软件,功能描述: 1)根据输入参数,完成旋转功能 2)根据输入参数,完成缩放功能 开始 旋转 参数:参数为正,顺时针旋转:参数为负,逆时针旋转 主要代 ...

  7. SM9-签名

    算法过程 代码实现 ///************************************************************************ // File name: ...

  8. Fluttter基础组件Image的使用

    1.图片 Image 图片组件( Image)是显示图像的组件, Image 组件有多种构造函数 : new Image:从 ImageProvider 获取图像 . new Image.asset: ...

  9. 魔乐社区体验:探索Llama 3.1模型微调之旅

    在2024年的AI领域,Meta发布的Llama 3.1模型无疑成为了研究者和开发者的新宠.我有幸通过魔乐社区提供的资源,对这一模型进行了深入的学习和实践.在这个过程中,魔乐社区的资源和支持给我留下了 ...

  10. 云主机AI服务的性能测试和优化

    本文分享自天翼云开发者社区<云主机AI服务的性能测试和优化>,作者:无敌暴龙兽在云计算的时代,越来越多的人选择将AI模型部署在云主机上,以便利用云服务提供商的弹性和可扩展性.然而,仅仅将A ...