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 ...
随机推荐
- Datawhale 2025冬令营第二弹!!😊自己微调模型!
Datawhale AI冬令营(第一期) 垂类大模型构建 定制垂类大模型 = 优质数据集 + 开源大模型 整理者:博客园-岁月月宝贝!!! 姓名:HeYang 特别鸣谢Datawhale!!!:htt ...
- 11.14javaweb学习
- Python PEP8 代码规范常见问题及解决方法
之前一直用 Python IDLE 写代码,最近换成 PyCharm 写代码总是会出现波浪号,这才了解到 Python 的 PEP8 代码规范,所以将常见的 PEP8 代码规范问题和解决方法记录一下, ...
- [转]C++中strcpy()函数和strcpy_s()函数的使用及注意事项
原文链接:C++中strcpy()函数和strcpy_s()函数的使用及注意事项
- 微信小游戏直播在Android端的跨进程渲染推流实践
本文由微信开发团队工程师"virwu"分享. 1.引言 近期,微信小游戏支持了视频号一键开播,将微信升级到最新版本,打开腾讯系小游戏(如跳一跳.欢乐斗地主等),在右上角菜单就可以看 ...
- vivo手机上的系统级消息推送平台的架构设计实践
本文由vivo互联网服务器团队李青鑫分享,有较多修订和改动. 1.引言 本文内容来自vivo互联网服务器团队李青鑫在"2021 vivo开发者大会"现场的演讲内容整理而成(现场演讲 ...
- openEuler RISC-V上磁盘I/O性能测试的IOZone实例
IOZone 是一个广泛使用的文件系统性能基准测试工具,旨在评估磁盘 I/O 性能.它能够测试各种类型的文件操作,包括顺序读写.随机读写.重载(re-write).读取已写入的数据等.通过这些测试 ...
- Detectron2使用
Detectron2使用 Detectron2安装 git clone https://github.com/facebookresearch/detectron2.git cd detectron2 ...
- linux获取当前用户名
linux环境下获取当前登录用户名 方法1: whoami 命令 1 $whoami 2 输出:username 3 $sudo whoami 4 输出:root 注意:通过不同用户权限执行获取的用 ...
- 今天记录一下uniapp制作小程序时包过大的解决方法
在开发小程序的时候,如果业务过于复杂就会使得包太大无法上线,在这我总结了几个解决包过大的方法,避免无法上线 1.静态图片使用线上地址,不要放到项目中,除了navBar的icon,因为那个只能使用本地资 ...