Tutorial

Установка Go в Ubuntu 18.04

Published on November 7, 2019
Русский
Установка Go в Ubuntu 18.04

Введение

Go — современный язык программирования, разработанный Google. Все больше компаний все чаще используют его для разработки приложений, также он предлагает обширный набор библиотек. В этом обучающем модуле вы узнаете о загрузке и установке последней версии Go (Go 1.10 на момент публикации настоящей статьи), а также создадите простое приложение Hello World.

Предварительные требования

Для этого обучающего модуля у вас должен быть доступ к системе Ubuntu 18.04 с пользователем с привилегиями sudo и без привилегий root, настроенной в соответствии с руководством «Начальная настройка сервера с Ubuntu 18.04».

Шаг 1 — Установка Go

На этом этапе мы установим Go на вашем сервере.

Для начала подключитесь к своему серверу Ubuntu через ssh:

  1. ssh sammy@your_server_ip

Для установки Go вам потребуется последняя версия с официальной страницы загрузки Go. На сайте можно найти URL текущего выпуска двоичного модуля tarball, а также его хэш SHA256.

Откройте официальную страницу загрузки Go и найдите URL текущего выпуска двоичного модуля tarball и его хэша SHA256. Вы должны находиться в каталоге home и использовать 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
Sample Output
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

Теперь в каталоге home у вас должен быть каталог go. Снова измените владельца go и группу на root и переместите в каталог /usr/local:

  1. sudo chown -R root:root ./go
  2. sudo mv go /usr/local

Примечание. Хотя /usr/local/go — официально рекомендованный каталог, некоторым пользователям требуется использовать другой путь.

Шаг 2 — Настройка путей Go

На этом шаге мы настроим некоторые пути в вашей среде.

В начале установим значение root для Go, где Go будет искать свои файлы.

  1. sudo nano ~/.profile

Добавьте в конец файла следующую строку:

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

Если вы выбрали другое место для установки Go, добавьте эти строки в тот же файл. В данном примере показаны команды для случая установки Go в каталог home:

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

Затем создайте в этой папке иерархию каталогов, используя следующую команду. Это необходимо для создания тестового файла. Вы можете заменить значение user своим именем пользователя на GitHub, если планируете использовать Git для отправки и хранения своего кода Go на GitHub. Если вы не планируете использовать GitHub для хранения кода и управления им, ваша структура папок должна быть немного другой, например: ~/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, импортирует отформатированный компонент контента ввода-вывода и задает новую функцию, которая распечатывает фразу «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

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about us


About the authors

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
1 Comments


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Большое спасибо!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel