Golang入门:Linux上的go语言安装与配置
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 语言的下载
- Golang官网下载地址:https://golang.org/dl/
- 国内镜像源下载地址:https://studygolang.com/dl
找到对应的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
在打开的文件末尾加入环境变量配置,需要配置 GOPATH 和 GOROOT ,出于个人习惯,建议 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语言安装与配置的更多相关文章
- CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境
CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境 什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/ ...
- Linux(Ubuntu)下MySQL的安装与配置
转自:http://www.2cto.com/database/201401/273423.html 在Linux下MySQL的安装,我一直觉得挺麻烦的,因为之前安装时就是由于复杂的配置导致有点晕.今 ...
- Python入门:Anaconda和Pycharm的安装和配置
Python入门:Anaconda和Pycharm的安装和配置 转自:https://www.cnblogs.com/yuxuefeng/articles/9235431.html 子曰:“工欲善其 ...
- Linux/CentOS环境下如何安装和配置PhantomJS工作环境
PhantomJS 是一个基于WebKit的服务器端 JavaScript API.它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, C ...
- 【Qt开发】Qt Creator在Windows上的调试器安装与配置
Qt Creator在Windows上的调试器安装与配置 如果安装Qt时使用的是Visual Studio的预编译版,那么很有可能就会缺少调试器(Debugger),而使用MSVC的Qt对应的原生调试 ...
- Java程序员的Golang入门指南(上)
Java程序员的Golang入门指南 1.序言 Golang作为一门出身名门望族的编程语言新星,像豆瓣的Redis平台Codis.类Evernote的云笔记leanote等. 1.1 为什么要学习 如 ...
- 如何用golang获取linux上文件的访问/创建/修改时间
在linux上想获取文件的元信息,我们需要使用系统调用lstat或者stat. 在golang的os包里已经把stat封装成了Stat函数,使用它比使用syscall要方便不少. 这是os.Stat的 ...
- XVFB实现selenium在linux上无界面运行安装篇
selenium在linux上无界面运行,其实是非常简单的.具体的方法有使用HtmlUnitDriver或者PhantomJSDriver,有时间我会写写关于这两个东东的文章,其实基本和ChromeD ...
- linux上源码编译安装mysql-5.6.28
在 linux 上编译安装 mysql-.tar.gz http://www.mysql.com/ mysql下载地址: http://www.mysql.com/downloads/mysql/#d ...
- 在Linux上使用C语言编程获取IPv4地址及子网掩码
在Linux上(如Ubuntu或CentOS), 获取某个Network Interface比如eth0的IP地址等信息,我们可以使用ifconfig或者ip addr show命令. $ ifcon ...
随机推荐
- IDEA导入他人的项目时提示“project sdk is not defined”的解决办法
IDEA导入他人的项目时提示"project sdk is not defined"的解决办法 1.在IDEA中,在有问题的项目上单击鼠标右键,然后选择"Open Mod ...
- 长连接网关技术专题(五):喜马拉雅自研亿级API网关技术实践
本文由喜马拉雅技术团队原创分享,原题<喜马拉雅自研网关架构实践>,有改动. 1.引言 网关是一个比较成熟的产品,基本上各大互联网公司都会有网关这个中间件,来解决一些公有业务的上浮,而且能快 ...
- Windows 系统下 Docker 和 Docker Compose 安装配置:一键部署有来开源项目本地环境
作者主页: 有来技术 开源项目: youlai-mall vue3-element-admin youlai-boot vue-uniapp-template 仓库主页: GitCode Gitee ...
- Solution -「GLR-R4」大暑
\(\mathscr{Description}\) Link. 这里有兔以前写的另一个题意,大家可以参考着看看. 你有两个坐标集合 \(X,Y\),\(X=\{(0,y)\mid y\in ...
- ABC 386 (A~F)
赛时做的,结果一直在卡D题.打得很失败的一场. ABC 略. D 题意可以转化为:给定\(m\)个黑色或白色的格子,其中: 每个黑色格子和\((1,1)\)作为对角线顶点,构成一个黑色矩形 每个白色格 ...
- C# HOOK 键盘事件
C# HOOK 键盘事件 /* by: wgscd date:2023-8-15 desc: test hook in c# */ using System; using System.Collect ...
- 测试直播伴侣和OBS对透明度的支持哪个好?
测试直播伴侣和OBS对透明度的支持哪个好? 抖音无人直播,用抖音弹幕助手 测试直播伴侣和OBS对透明度的支持哪个好?抖音无人直播,用抖音弹幕助手 测试地址1 测试地址2
- Iterator迭代器接口(遍历Collection的两种方式之一)
使用 Iterator 接口遍历集合元素: Iterator对象称为迭代器(设计模式的一种),主要用于遍历 Collection 集合中的元素. GOF给迭代器模式的定义为:提供一种方法访问一个容 ...
- oracle 根据排序去重取第一条
原文转自 https://www.jianshu.com/p/d5c0a355890b,感谢作者styone分享. SELECT t.* FROM (SELECT a.*, row_number ( ...
- 目前get到最好用的内网穿透软件
官网:https://www.natfrp.com/ 软件名称:SakuraLauncher 不花钱可以获取到两个隧道,如果不想花钱的话,每天签到领流量即可 之前用过cpolar,飞鸽,ngrok,但 ...