如何在 Ubuntu 18.04 上安装 Go

2023-11-12

介绍

Go是 Google 开发的一种现代编程语言。它在许多应用程序和许多公司中越来越受欢迎,并提供了一组强大的库。本教程将引导您下载和安装最新版本的 Go(本文发布时为 Go 1.10),以及构建一个简单的 Hello World 应用程序。

先决条件

本教程假设您可以访问 Ubuntu 18.04 系统,并使用非 root 用户进行配置sudo中描述的特权使用 Ubuntu 18.04 进行初始服务器设置.

第 1 步 — 安装 Go

在此步骤中,我们将在您的服务器上安装 Go。

首先,通过以下方式连接到您的 Ubuntu 服务器ssh:

  1. ssh sammy@your_server_ip

为了安装 Go,您需要从以下位置获取最新版本:Go 官方下载页面。在该网站上,您可以找到当前二进制版本的 tarball 的 URL 及其 SHA256 哈希值。

访问官方 Go 下载页面并找到当前二进制版本的 tarball 的 URL 及其 SHA256 哈希值。确保您位于主目录中,并使用 curl 检索 tarball:

  1. cd ~
  2. curl -O https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz

接下来,您可以使用sha256sum验证 tarball:

  1. sha256sum go1.10.3.linux-amd64.tar.gz
样本输出
go1.10.3.linux-amd64.tar.gz fa1b0e45d3b647c252f51f5e1204aba049cde4af177ef9f2181f43004f901035 go1.10.3.linux-amd64.tar.gz

您将得到一个类似于上面输出中突出显示的哈希值。确保它与下载页面上的匹配。

接下来,使用tar提取 tarball。这x旗帜告诉tar提取,v告诉它我们想要详细的输出(正在提取的文件的列表),并且f告诉它我们将指定一个文件名:

  1. tar xvf go1.10.3.linux-amd64.tar.gz

您现在应该有一个名为的目录go在你的主目录中。递归改变go的所有者和组root,并将其移至/usr/local:

  1. sudo chown -R根:根./去
  2. sudo mv去/usr/local

Note:虽然/usr/local/go是官方推荐的位置,某些用户可能更喜欢或需要不同的路径。

第 2 步 — 设置 Go 路径

在此步骤中,我们将在您的环境中设置一些路径。

首先,设置 Go 的 root 值,它告诉 Go 在哪里查找其文件。

  1. sudo nano〜/.profile

在文件末尾添加以下行:

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

如果您为 Go 选择了备用安装位置,请将这些行添加到同一文件中。此示例显示了如果 Go 安装在您的主目录中的命令:

export GOROOT=$HOME/go
export GOPATH=$HOME/work
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

将相应的行粘贴到您的配置文件中,保存并关闭文件。接下来,通过运行以下命令刷新您的个人资料:

  1. source〜/.profile

第 3 步 — 测试您的安装

现在 Go 已安装并为服务器设置了路径,您可以进行测试以确保 Go 按预期工作。

为您的 Go 工作区创建一个新目录,Go 将在其中构建其文件:

  1. mkdir $HOME/work

Then, create a directory hierarchy in this folder through this command in order for you to create your test file. You can replace the value user with your GitHub username if you plan to use Git to commit and store your Go code on GitHub. If you do not plan to use GitHub to store and manage your code, your folder structure could be something different, like ~/my_project.

  1. mkdir -p work/src/github.com/user/hello

接下来,您可以创建一个简单的“Hello World”Go 文件。

  1. nano ~/work/src/github.com/user/hello/hello.go

在编辑器中粘贴以下代码,该代码使用主 Go 包、导入格式化的 IO 内容组件,并设置一个新函数以在运行时打印“Hello, World”。

package main

import "fmt"

func main() {
    fmt.Printf("hello, world\n")
}

如果成功运行,该程序将打印“hello, world”,这表明Go程序编译正确。保存并关闭文件,然后通过调用 Go 命令进行编译install:

  1. go install github.com/user/hello

编译文件后,只需执行以下命令即可运行它:

  1. hello

如果该命令返回“hello, world”,则 Go 已成功安装并正常运行。可以看到编译到哪里了hello二进制文件是通过使用安装的which命令:

  1. which hello
Output
/home/user/work/bin/hello

结论

通过下载并安装最新的 Go 软件包并设置其路径,您现在拥有了一个可用于 Go 开发的系统。您可以在我们的网站中找到并订阅有关安装和使用 Go 的其他文章“Go” tag

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Ubuntu 18.04 上安装 Go 的相关文章

随机推荐

  • Java 中的装饰器设计模式示例

    装饰器设计模式用于在运行时修改对象的功能 同时 同一类的其他实例不会受此影响 因此单个对象会获得修改后的行为 装饰设计模式是结构设计模式之一 如适配器模式 桥梁图案 复合图案 并使用抽象类或接口作品来实施 装饰设计模式 We use inh
  • 获取R中的行数和列数

    各位读者大家好 在本文中 我们将重点讨论 R 中的行和列的概念 即R编程中获取对象的行数和列数 详细 那么 让我们开始吧 Be it a matrix or a 数据框 我们按照行和列来处理数据 在数据分析领域 尤其是统计分析 我们需要了解
  • 如何在 CentOS、Rocky Linux、RHEL 和 Fedora 上安装 Java

    介绍 本教程将向您展示如何在基于 RPM 的 Linux 发行版的当前版本上安装 Java Red Hat Enterprise Linux CentOS Fedora 和 Rocky Linux Java 是一种流行的编程语言和软件平台
  • 如何在 Ubuntu 14.04 上使用 Nginx 安装 WordPress

    介绍 WordPress 是世界上最流行的 CMS 内容管理系统 它使您可以轻松启动并运行您的网站或博客 安装后 您可以在简单的 Web 界面中管理几乎所有内容 在本指南中 我们将介绍如何在 Ubuntu 14 04 服务器上安装 Word
  • 如何使用 Nmap 和 Tcpdump 测试您的防火墙配置

    介绍 为您的基础设施设置防火墙是为您的服务提供安全性的好方法 一旦您制定了满意的策略 下一步就是测试您的防火墙规则 重要的是要充分了解您的防火墙规则是否按照您的想法进行 并了解您的基础设施在外界看来是什么样子 在本指南中 我们将介绍一些可用
  • Linux 终端简介

    介绍 本教程是 Linux 基础知识系列的第一篇 涵盖终端 Linux 命令行和执行命令的入门知识 如果您是 Linux 新手 您将需要熟悉终端 因为它是与 Linux 服务器交互的标准方式 如果您想充分利用本教程 您将需要连接和使用 Li
  • 最小堆二叉树

    A Min Heap二叉树是二叉树 其中根节点具有树中的最小键 上述定义对于树中的所有子树都适用 这被称为最小堆属性 除了最后两层之外 几乎每个节点都必须有两个子节点 也就是说 除了最后两层之外 这几乎是一个完整的二叉树 由于上述两个属性成
  • 在 Python 3 中使用循环时如何使用 Break、Continue 和 Pass 语句

    介绍 Using for 循环 and while 循环Python 允许您以有效的方式自动化和重复任务 但有时 外部因素可能会影响程序的运行方式 发生这种情况时 您可能希望程序完全退出循环 在继续之前跳过循环的一部分 或者忽略该外部因素
  • 休眠教程

    最近写了很多hibernate教程 休眠是当前市场上最好的Java ORM工具之一 所以这篇文章就像是所有 hibernate 教程和示例文章的索引 您可以依次浏览这些 hibernate 教程 从头开始学习 hibernate 我很可能会
  • Java 中的线程安全

    Java中的线程安全是一个非常重要的话题 Java使用Java线程提供多线程环境支持 我们知道从同一个对象创建的多个线程共享对象变量 这可能会导致数据不一致当线程用于读取和更新共享数据时 线程安全 The reason for data i
  • 如何使用 Ansible 角色抽象您的基础设施环境

    介绍 Ansible 是一种配置管理工具 旨在为管理员和运营团队自动控制服务器 借助 Ansible 您可以使用单个中央服务器来控制和配置许多不同的远程系统 仅使用 SSH 和 Python 作为要求 Ansible 根据任务定义在其管理的
  • 如何在 CentOS 6 上使用 fail2ban 保护 SSH

    Status 已弃用 本文介绍不再受支持的 CentOS 版本 如果您当前运行的服务器运行 CentOS 6 我们强烈建议您升级或迁移到受支持的 CentOS 版本 Reason CentOS 6 于 2020 年 11 月 30 日达到生
  • 如何监控 DigitalOcean Droplet 上的 CPU 使用情况

    介绍 假设您的网站或应用程序比平时更慢 你如何开始调查这个问题 导致应用程序缓慢的原因有很多 但有时是因为服务器的 CPU 已满 本指南将帮助您了解您是否属于这种情况 我们将首先了解 Linux 服务器上两个最常引用的资源使用指标 CPU利
  • 如何在 Python 中将字符串转换为浮点数

    介绍 在这篇文章中 我们将使用Pythonfloat 函数将字符串转换为浮点数 我们还将使用Python的str 函数将浮点数转换为字符串 在使用数据类型进行计算和串联之前正确转换数据类型非常重要 以防止运行时错误 先决条件 为了完成本教程
  • 机器学习简介

    介绍 机器学习是人工智能 AI 的一个子领域 机器学习的目标通常是理解数据的结构并将该数据拟合到人们可以理解和利用的模型中 尽管机器学习是计算机科学的一个领域 但它与传统的计算方法不同 在传统计算中 算法是计算机用来计算或解决问题的显式编程
  • 如何将路由解析器与 Angular 路由器一起使用

    介绍 处理从 API 检索和显示数据的一种方法是将用户路由到组件 然后在该组件的ngOnInit钩子调用服务中的方法来获取必要的数据 在获取数据时 组件也许可以显示加载指示器 还有另一种方法可以使用所谓的route resolver 它允许
  • 如何在 Ubuntu 14.04 上安装 LAMP [快速入门]

    介绍 LAMP 堆栈 Linux Apache MySQL PHP 是一组开源软件 通常安装在一起以使服务器能够托管动态 PHP 网站和 Web 应用程序 本指南包括在 Ubuntu 14 04 上的单个服务器上设置 LAMP 堆栈的步骤
  • Python 中的引导采样

    这是关于 Python 中的 Bootstrap 采样的教程 在本教程中 我们将了解什么是引导 然后了解如何实现它 让我们开始吧 什么是引导抽样 引导抽样的定义如下 在统计学中 引导抽样是一种方法 涉及从数据源中重复抽取样本数据并进行替换
  • 如何在 Ubuntu 14.04 上为多个 Apache 虚拟主机设置 Let's Encrypt 证书

    介绍 SSL 证书在 Web 服务器内用于加密服务器和客户端之间的流量 为访问您的应用程序的用户提供额外的安全性 Let s Encrypt 提供了一种免费获取和安装受信任证书的简单方法 本教程将向您展示如何设置 TLS SSL 证书让我们
  • 如何在 Ubuntu 18.04 上安装 Go

    介绍 Go是 Google 开发的一种现代编程语言 它在许多应用程序和许多公司中越来越受欢迎 并提供了一组强大的库 本教程将引导您下载和安装最新版本的 Go 本文发布时为 Go 1 10 以及构建一个简单的 Hello World 应用程序