Linux 系统上配置 Go 环境

在 Linux 系统上配置 Go 环境比较简单,下面是详细的步骤,适用于大多数 Linux 发行版(如 Ubuntu、CentOS、Debian 等):

### 1. **更新软件包列表**
在安装 Go 之前,首先确保您的软件包列表是最新的。使用以下命令来更新系统的包列表(以 Ubuntu 为例):

查看当前系统

cat /etc/os-release

```bash

sudo apt update


```

### 2. **下载 Go 安装包**
Go 官方网站提供了适用于各平台的二进制安装包。您可以使用 `wget` 或 `curl` 从 Go 官方网站下载最新版本的 Go 安装包。

1. 访问 Go 的官网:[https://golang.org/dl/](https://golang.org/dl/) 获取最新版本的下载链接。
2. 使用 `wget` 下载最新版本的 Go(假设最新版本是 1.23.3):

```bash
wget https://golang.google.cn/dl/go1.23.3.linux-amd64.tar.gz
```

如果您使用 `curl`,可以使用类似以下的命令:

```bash
curl -O https://go.dev/dl/go1.23.3.linux-amd64.tar.gz
```

### 3. **解压 Go 安装包**
下载完成后,解压该 tar.gz 安装包到 `/usr/local` 目录下。这个目录是 Go 默认的安装目录。

```bash

sudo tar -C /usr/local -xvzf go1.23.3.linux-amd64.tar.gz


```

此命令将 Go 解压到 `/usr/local/go` 目录下。

### 4. **配置 Go 环境变量**
为了使 Go 可以全局访问,您需要将 Go 的安装路径添加到系统的 `PATH` 环境变量中。

编辑您的 shell 配置文件(对于 Bash 是 `.bashrc`,对于 Zsh 是 `.zshrc`,具体取决于您使用的 shell)。

```bash
vim /etc/profile.d/go.sh
```

在文件末尾添加以下行:

```bash
# 设置 Go 环境变量

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


```

- `GOROOT` 是 Go 的安装目录,通常设置为 `/usr/local/go`。
- `GOPATH` 是您的工作目录,Go 默认使用 `$HOME/go` 作为 GOPATH。

### 5. **使环境变量生效**
修改完配置文件后,运行以下命令使配置生效:

```bash

source /etc/profile.d/go.sh


```

### 6. **验证 Go 安装**
您可以通过运行以下命令来验证 Go 是否成功安装:

```bash

go version


```

如果安装成功,您将看到类似于下面的输出:

```

go version go1.23.3 linux/amd64


```

### 7. **设置 Go 工作空间(可选)**
Go 1.11 版本之后,Go 引入了模块支持,您不再需要严格地依赖 GOPATH 来管理工作空间。然而,如果您希望使用传统的 GOPATH 工作方式,可以创建一个工作目录:

```bash

mkdir -p ~/go/{bin,pkg,src}


```

- `~/go/bin` 存放 Go 编译的二进制文件。
- `~/go/pkg` 存放 Go 编译的包。
- `~/go/src` 存放 Go 源代码。

如果使用 Go Modules,则不必强制使用 GOPATH,Go 会自动管理项目的依赖。

### 8. **安装 Go 模块(可选)**
Go 1.11+ 引入了 Go Modules 来管理依赖,您可以通过以下命令启用 Go Modules:

```bash

export GO111MODULE=on


```

此环境变量启用 Go Modules。

### 9. **更新 Go 版本**
若未来需要升级 Go,您可以按照以下步骤进行:

1. 删除旧版本的 Go:

   ```bash
   sudo rm -rf /usr/local/go
   ```

2. 下载并安装新版本的 Go,按照上述步骤进行。

---

通过这些步骤,您应该已经成功在 Linux 系统上配置好了 Go 环境。可以开始使用 Go 进行开发了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/34365.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

异步FIFO的实现

异步FIFO是verilog中常见的设计,通常用于不同时钟域下的数据同步。 在实现 FIFO 时,无论是同步 FIFO 还是异步 FIFO ,通常会通过双口 RAM ( Dual Port RAM )并添加一些必要的逻辑来实现。双口 RAM的设计如下&#xff1…

专题三:穷举vs暴搜vs深搜vs回溯vs剪枝

> 作者:დ旧言~ > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:了解什么是穷举vs暴搜vs深搜vs回溯vs剪枝,并且掌握其算法。 > 毒鸡汤:有些事情,总是不明白,所以我不…

停更期李子柒品牌线上破亿,电商内容营销策略怎样重塑升级?

11月13日,李子柒在接受新华网记者的专访时被问到了“未来的商业化考虑”。她表示:“肯定会有这方面的考虑,只是目前还没有特别明确的规划。我就想继续做我自己喜欢的事情,如果这件事情能够被认同,而且它是有价值的&…

2020年国赛高教杯数学建模E题校园供水系统智能管理解题全过程文档及程序

2020年国赛高教杯数学建模 E题 校园供水系统智能管理 原题再现 校园供水系统是校园公用设施的重要组成部分,学校为了保障校园供水系统的正常运行需要投入大量的人力、物力和财力。随着科学技术的发展,校园内已经普遍使用了智能水表,从而可以…

【SpringBoot】使用IDEA创建SpringBoot项目

1、使用SpringBoot脚手架创建 我们使用SpringBoot的脚手架Spring Initializr创建,如图所示: 2、选择SpringBoot版本 最开始做项目时候,组长说创建一个 springboot 2.5.4 的项目,mysql使用 5.6.X ,maven使用是3.6.X…

MFC实现全屏功能

之前全屏都是参考: MFC单文档(SDI)全屏程序的实现 主要思路就是将各种菜单工具栏隐藏恢复。 随着MFC的升级,MFC框架本身就具备了全屏的功能。 微软有一个全屏实现类: CFullScreenImpl Class managing full-screen mod…

灰狼算法与蚁群算法的结合:一种新颖的优化方法

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

Mybatis要点总结

MyBatis 是一款优秀的 持久层 框架 ,用于简化 JDBC 的开发。 Java Data Base Connectivity(Java语言连接数据库) 数据库连接池 数据库连接池的好处: 资源重用 提升系统响应速度 避免数据库连接遗漏 常见的数据库连接池&…

前缀和(八)矩阵区域和

1314. 矩阵区域和 给你一个 m x n 的矩阵 mat 和一个整数 k &#xff0c;请你返回一个矩阵 answer &#xff0c;其中每个 answer[i][j] 是所有满足下述条件的元素 mat[r][c] 的和&#xff1a; i - k < r < i k, j - k < c < j k 且(r, c) 在矩阵内。 示例 1&…

不一样的CSS(4)--icon图标系列之svg

序言 上一节内容我们讲解了如何利用css去画一个五角星&#xff0c;其中包括了使用svg的方法&#xff0c;有些小伙伴们对svg的使用不是很了解&#xff0c;那么本节内容我们主要来讲一下&#xff0c;关于svg标签的的使用。 目录 序言一、svg的介绍二、安装SVG扩展插件三、SVG基…

读取文件进度条

一、widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMenuBar> #include <QFileDialog> #include <QFile> #include <QDebug> #include <QTimer> QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NA…

js this

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><title>this</title> </head> <body> <script>let fengfeng "枫枫"console.log(this)// alert("123")funct…

wordpress网站安装了Linux宝塔面板,限制IP地址访问网站,只能使用域名访问网站

一、Linux服务器安装Linux宝塔面板 这个步骤参考网上其他教程。 二、Linux宝塔面板部署wordpress网站 这个步骤参考网上其他教程&#xff0c;保证网站能够正常访问&#xff0c;并且使用Linux宝塔面板申请并部署了SSL证书&#xff0c;使用https协议默认443端口正常访问。 三…

软考高级架构-9.4.4-双机热备技术 与 服务器集群技术

一、双机热备 1、特点&#xff1a; 软硬件结合&#xff1a;系统由两台服务器&#xff08;主机和备机&#xff09;、一个共享存储&#xff08;通常为磁盘阵列柜&#xff09;、以及双机热备软件&#xff08;提供心跳检测、故障转移和资源管理功能的核心软件&#xff09;组成。 …

电子商务人工智能指南 1/6 - 搜索、广告和发现

介绍 81% 的零售业高管表示&#xff0c; AI 至少在其组织中发挥了中等至完全的作用。然而&#xff0c;78% 的受访零售业高管表示&#xff0c;很难跟上不断发展的 AI 格局。 近年来&#xff0c;电子商务团队加快了适应新客户偏好和创造卓越数字购物体验的需求。采用 AI 不再是一…

论文 | EfficientRAG: Efficient Retriever for Multi-Hop Question Answering

1. 论文介绍与研究动机 本文提出了一个新的检索增强生成&#xff08;RAG&#xff09;方法——EfficientRAG&#xff0c;它专门用于解决复杂的多跳问题。在多跳问答中&#xff0c;问题的答案需要从多个信息源中检索并结合起来&#xff0c;远比单跳问题复杂&#xff0c;因此也更加…

超详细搭建PhpStorm+PhpStudy开发环境

刚开始接触PHP开发&#xff0c;搭建开发环境是第一步&#xff0c;网上下载PhpStorm和PhpStudy软件&#xff0c;怎样安装和激活就不详细说了&#xff0c;我们重点来看一看怎样搭配这两个开发环境。 前提&#xff1a;现在假设你已经安装完PhpStorm和PhpStudy软件。 我的PhpStor…

Linux U-Boot 启动流程详解

目录 一、引言 二、U-Boot 启动前的准备 三、U-Boot 的启动流程 1.第一阶段&#xff1a;SPL&#xff08;Secondary Program Loader&#xff09;启动 2.第二阶段&#xff1a;U-Boot 主程序初始化 3.第三阶段&#xff1a;内核加载 4.第四阶段&#xff1a;参数传递 5.第五阶…

[Redis#16] 事务 | vs Mysql | 命令 | WATCH的实现

目录 什么是事务 实现事务的方式 Redis 事务与 MySQL 事务的对比 应用场景&#xff1a;防止超卖 Lua 脚本增强 事务操作 MULTI & EXEC DISCARD WATCH WATCH 的实现原理 什么是事务 [MySQL#12] 事务(1) | ACID | commit | 回滚 | 常见操作 Redis 的事务和 MySQL…

day03-分析产品原型-课程

1. 开发流程 2. 分析产品原型 2.1 业务流程 产品原型图&#xff1a; 两个业务模块之间使用异步通信 2.2 查询课程列表-接口 https://apifox.com/apidoc/shared-3076deb7-ecde-4519-8e57-390d336aef4c 2.2.1 课表VO 前端课表的相关参数&#xff1a; 现在还不能一步到位&a…