Гид по технологиям

Установка Go (Golang) на Linux

• 6 min read • DevOps • Обновлено 24 Nov 2025
Установка Go на Linux — быстрое руководство
Установка Go на Linux — быстрое руководство

TL;DR

Go (Golang) — быстрый и простой язык программирования от Google. В этом руководстве показано, как скачать и установить бинарный пакет Go, настроить окружение для пользователя и системы, а также проверить установку простым примером «Hello World». Альтернативы: менеджеры пакетов дистрибутива и snap.

Введение

Фото архива Go

Go (часто называют Golang) — открытый язык программирования для создания производительных, масштабируемых и простых в сопровождении приложений. На Go написаны популярные DevOps-инструменты: Docker, Kubernetes, Terraform, Grafana и HashiCorp Vault. Это руководство шаг за шагом покажет установку Go на Linux (Debian, Ubuntu, CentOS), настройку переменных окружения и сборку простого приложения.

Важно. В примерах используется версия go1.13, как в исходном тексте. При желании скачивайте более новые версии с официального сайта https://golang.org/doc/.

Что мы сделаем

  • Скачать стабильный релиз Go
  • Установить бинарный пакет
  • Настроить переменные окружения для пользователя и глобально
  • Проверить установку простым приложением

Требования перед установкой

  • Доступ root или sudo для записи в /usr/local при установке бинарного архива
  • Подключение к интернету для скачивания архива
  • Минимум нескольких мегабайт свободного места для самого архива и распаковки

Шаг 1 — Скачать последнюю стабильную версию Go

Скачайте указанный архив с сайта Google. В примере используется go1.13 для 64‑битной Linux-системы.

wget https://dl.google.com/go/go1.13.linux-amd64.tar.gz

Проверьте контрольную сумму загруженного файла (sha256) — значение должно совпадать с опубликованным на странице релиза.

sha256sum go1.13.linux-amd64.tar.gz

Вы увидите вывод наподобие:

68a2297eb099d1a76097905a2ce334e3155004ec08cdea85f24527be3c48e856  go1.13.linux-amd64.tar.gz

Распакуйте архив в каталог /usr/local. Для этого требуется права root:

tar -C /usr/local -xzf go1.13.linux-amd64.tar.gz

После распаковки двоичные файлы Go будут находиться в /usr/local/go.

Распаковка архива Golang

Шаг 2 — Настройка системного окружения для Go

Чтобы пользоваться командой go и запускать ваши программы, нужно настроить GOPATH и PATH. Ниже — инструкции для пользователей Bash и Zsh, а также системная настройка для всех пользователей.

Для Debian и Ubuntu

Создайте или откройте файл ~/.bash_profile в домашней директории и добавьте переменные окружения:

vim ~/.bash_profile

Вставьте:

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

Сохраните файл. Чтобы этот профиль загружался при интерактивной оболочке, добавьте его в ~/.bashrc:

vim ~/.bashrc

Добавьте в конец:

source ~/.bash_profile

Выйдите из сессии и зайдите снова, чтобы изменения вступили в силу.

Настройка окружения пользователя

Для CentOS 7

На CentOS также редактируйте ~/.bash_profile:

vim ~/.bash_profile

Добавьте те же строки:

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

Примените изменения немедленно:

source ~/.bash_profile

Редактирование профиля пользователя

Для Zsh

Для Zsh поместите переменные в ~/.zprofile:

vim ~/.zprofile

Вставьте:

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

Файл загружается автоматически при входе в систему.

Создание рабочей директории

Create рабочую папку проекта, указанную в GOPATH:

mkdir -p $HOME/work

Проверьте переменные:

echo $GOPATH
echo $PATH

Команды go должны быть доступны:

go version
go --help

Проверка версии Go

Системная настройка для всех пользователей

Чтобы объявить переменные глобально для всех пользователей Bash, создайте файл в /etc/profile.d:

cd /etc/profile.d/
vim go.sh

Добавьте:

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

Сделайте файл исполняемым:

chmod +x /etc/profile.d/go.sh

Теперь все пользователи Bash получат доступ к команде go при следующем входе в систему.

Системная настройка Go

Шаг 3 — Тестирование с помощью “Hello World”

Создайте структуру каталогов в GOPATH и новый проект:

cd $GOPATH
mkdir -p src/ bin/
mkdir -p src/hello/
cd src/hello/

Создайте файл hello.go:

vim hello.go

Вставьте код программы:

package main

import (
    "fmt"
)

func main() {
    fmt.Println("Hello World, Go")
}

Соберите бинарник в каталог $GOPATH/bin:

go build -o $GOPATH/bin/hello hello.go

Запустите:

hello

Вы увидите вывод:

Программа Hello World на Go

Если вывод совпадает, установка и базовая настройка завершены успешно.

Альтернативный путь — установка через пакетный менеджер

Установка из бинарного архива даёт контроль над версией и местом установки. Однако можно использовать менеджеры пакетов дистрибутива или snap для быстрой установки и автообновлений. Минусы: в репозиториях порой доступны старые версии.

Примеры:

  • Ubuntu / Debian: sudo apt install golang (в репозиториях может быть устаревшая версия)
  • CentOS: dnf или yum install golang
  • Snap: sudo snap install go –classic

Если вам нужна конкретная версия (например go1.13 или более новая), рекомендуется распаковка official tarball в /usr/local.

Частые проблемы и их решения

  • “go: command not found” — проверьте переменную PATH и наличие /usr/local/go/bin в ней.
  • Не видны пакеты в GOPATH — убедитесь, что GOPATH указывает на существующую директорию и в ней есть src/ и bin/.
  • Права доступа при распаковке — используйте sudo при записи в /usr/local.
  • Модули vs GOPATH — современные проекты используют Go Modules (файлы go.mod), тогда GOPATH меньше влияет на структуру проекта.

Когда этот способ не подходит

  • На системах с ограниченными правами без sudo лучше использовать snap или локальную установку в домашнюю директорию.
  • Если нужен автоматический апгрейд и безопасная интеграция с системой пакетов — рассмотрите менеджер пакетов дистрибутива.

Ментальные модели и практические советы

  • GOPATH = рабочая область разработки (старый подход). Go Modules (модульная система) позволяют хранить проекты вне GOPATH. Если проект содержит go.mod, сборка и управление зависимостями идут через модули.
  • /usr/local/go — глобальная инсталляция двоичных файлов. PATH должен указывать на /usr/local/go/bin.
  • $GOPATH/bin — место для скомпилированных бинарников пользователя; рекомендуется добавить в PATH.

Контрольные списки по ролям

  • Для разработчика:

    • Настроить GOPATH и PATH
    • Создать рабочую директорию и инициализировать проект (go mod init)
    • Собрать и запустить приложение
  • Для администратора системы:

    • Распаковать /usr/local/go с правами root
    • Настроить /etc/profile.d/go.sh для глобального доступа
    • Обеспечить безопасность и обновления

Сводка основных команд

wget https://dl.google.com/go/go1.13.linux-amd64.tar.gz
sha256sum go1.13.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.13.linux-amd64.tar.gz
export GOPATH=$HOME/work
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
mkdir -p $GOPATH/src/hello
cd $GOPATH/src/hello
# создать hello.go и собрать
go build -o $GOPATH/bin/hello hello.go
hello

Факты и краткая памятка

ПараметрЗначение
Официальный сайтhttps://golang.org/doc/
Тип установкиБинарный архив / Пакетный менеджер / Snap
Стандартная папка инсталляции/usr/local/go
Рабочая область пользователя$HOME/work (в примере)

Краткое руководство по отладке

  1. Проверить доступность команды: which go или command -v go.
  2. Проверить переменные: echo $PATH и echo $GOPATH.
  3. Убедиться, что /usr/local/go/bin существует и содержит исполняемые файлы.
  4. Запустить go version для проверки работоспособности.

Однострочные определения (глоссарий)

  • Go Modules — механизм управления зависимостями и версионирования в Go.
  • GOPATH — старая модель рабочей директории для проектов Go.
  • /usr/local/go — стандартный каталог для установки официального бинарного дистрибутива.

Совместимость и советы по миграции

  • Если вы работаете с проектами, созданными до появления модулей, они могут требовать расположения в GOPATH. Новые проекты лучше создавать с поддержкой Go Modules (go mod init). Миграция: добавить go.mod и использовать go mod tidy.

Короткое объявление для команды (100–200 слов)

В проекте добавлена стандартизированная инструкция по установке Go на Linux. Руководство описывает ручную установку официального бинарного архива в /usr/local/go, настройку переменных окружения для пользователя и для всех пользователей через /etc/profile.d, а также пример «Hello World» для проверки. В документе также перечислены альтернативы через менеджеры пакетов и snap, указаны советы по работе с GOPATH и Go Modules, чек‑листы для разработчиков и администраторов, а также рекомендации по отладке и миграции проектов. Рекомендуется использовать этот процесс для унификации среды разработки в команде и при развёртывании серверных агентов на Linux.

Ссылки

Итог

Установка Go из официального архива обеспечивает контроль над версией и местом установки. Для большинства современных проектов предпочтительнее использовать Go Modules и хранить исходники вне GOPATH. Если нужна простота — воспользуйтесь пакетным менеджером дистрибутива или snap, но проверьте версию.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро