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

Установка и сборка Go на Raspberry Pi

• 4 min read • Разработка • Обновлено 22 Nov 2025
Go на Raspberry Pi: сборка из исходников
Go на Raspberry Pi: сборка из исходников

Коротко о совместимости

Go давно поддерживает несколько ОС и архитектур процессоров. Raspberry Pi использует Broadcom SoC на базе ARMv6. Поскольку Raspberry Pi может запускать Linux или FreeBSD, на нём можно запускать и программы на Go. Официальных актуальных предсобранных пакетов Google для Raspberry Pi нет; пакет golang в Raspbian часто устарел. Поэтому надёжный путь — собрать Go из исходников.

Что понадобится

  • Raspberry Pi с установленной Raspbian или другой совместимой Linux-системой.
  • Подключение к интернету для клонирования репозитория и загрузки компонентов.
  • Несколько часов свободного времени: сборка обычно занимает примерно 90–120 минут в зависимости от модели Pi и скорости SD/USB.
  • Немного свободного места в корне файловой системы (папка /usr/local/go займет несколько десятков мегабайт и больше при сборке).

Шаги установки

  1. Установите Mercurial — систему контроля версий, которую использует репозиторий Go:
sudo apt-get install -y mercurial
  1. Клонируйте исходники Go в /usr/local/go. Команда загрузит текущую ветку репозитория:
sudo hg clone -u default https://code.google.com/p/go /usr/local/go

Загрузка может занять около 10 минут, в зависимости от скорости соединения.

  1. Перейдите в каталог исходников и запустите сборку:
cd /usr/local/go/src
sudo ./all.bash

Во время сборки вы увидите много служебных сообщений. На слабых моделях Raspberry Pi сборка может занять от полутора до двух часов.

Важно: оставьте процесс сборки завершиться. Прерывание может привести к частично собранным артефактам.

После сборки: добавление Go в PATH

Сборка попросит добавить каталог с бинарниками в PATH. Отредактируйте файл .profile в домашней директории:

cd
nano .profile

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

export PATH=$PATH:/usr/local/go/bin

Нажмите CTRL+X, затем Y и ENTER, чтобы сохранить файл.

Затем выйдите из сеанса и войдите снова (или закройте/откройте терминал), чтобы изменения PATH вступили в силу.

Проверка установки

Создайте файл hello.go с простым кодом и запустите его:

package main

import "fmt"

func main() {
    fmt.Printf("Hello Make Tech Easier!\n")
}

Запуск:

go run hello.go

Ожидаемый результат:

Hello Make Tech Easier!

Вещи, которые стоит попробовать

Go отлично подходит для программ с конкуррентностью. Попробуйте пример из статьи про первый конкурентный Go-программа: напишите несколько горутин и используйте каналы для обмена сообщениями. На Raspberry Pi вы увидите преимущества конкурентного подхода даже на простых многозадачных системах.

Альтернативные подходы

  • Установка через пакетный менеджер: в репозиториях Raspbian есть пакет “golang”, однако он может быть старой версии. Подходит для быстрого старта, но не для последних возможностей языка.
  • Кросс-компиляция: соберите Go на более мощной x86-машине с целевой GOARCH/GOARM и затем перенесите бинарник на Pi. Экономит время, но требует настройки окружения кросс-компиляции.
  • Использование контейнера: если вы пользуетесь Docker на Raspberry Pi, можно запускать официальные образы golang для ARM, если они доступны для вашей модели.

Когда сборка из исходников не подходит

  • На очень старых или слабых моделях с ограниченным энергопотреблением и медленной SD-картой сборка может долго висеть и изнашивать носитель.
  • При медленном интернет-соединении клонирование репозитория и загрузка зависимостей становятся проблемой.
  • Если вам нужна исключительно определённая версия, проще использовать официальные предсобранные билды на другой машине и переносить бинарники.

Быстрая методология установки (чеклист)

  • Обновить систему: sudo apt-get update && sudo apt-get upgrade
  • Установить mercurial
  • Клонировать репозиторий в /usr/local/go
  • Запустить ./all.bash из /usr/local/go/src
  • Добавить /usr/local/go/bin в PATH
  • Проверить установку командой go run hello.go

Ролевые чеклисты

Разработчик:

  • Проверить версию go: go version
  • Сконфигурировать GOPATH и рабочие директории
  • Запустить unit-тесты: go test ./…

Системный администратор:

  • Убедиться, что сборка выполнялась под sudo где требуется
  • Проверить права доступа к /usr/local/go
  • Добавить запись в системную документацию об установленной версии

Критерии приёмки

  • Команда go version возвращает актуальную версию, собранную вами.
  • go run hello.go выводит строку приветствия.
  • go build успешно собирает небольшую программу в бинарник на Pi.

Короткий глоссарий

  • Go — компилируемый язык программирования от Google.
  • SoC — System-on-a-Chip, интегрированная микросхема, содержащая CPU, GPU и другие компоненты.
  • ARMv6 — архитектура процессора, на которой основан ряд ранних моделей Raspberry Pi.
  • Mercurial (hg) — распределённая система контроля версий.

Заключение

Сборка Go на Raspberry Pi — надёжный способ получить актуальную версию языка на ARMv6-устройстве. Это займёт время, но даёт полную совместимость и контроль над сборкой. В качестве альтернативы рассмотрите кросс-компиляцию или использование пакета из дистрибутива, если вы готовы пожертвовать версией ради скорости установки.

Важно: если сборка не проходит из-за нехватки места или времени, используйте кросс-компиляцию на более мощном хосте.

Поделиться: 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 быстро