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

Что такое Go
Go (Golang) — это открытый компилируемый язык программирования от Google. Его выбирают за простоту, быстрый компилятор и хорошую поддержку параллелизма. По умолчанию бинарные файлы создаются компилятором, и их можно запускать без дополнительной сборки на целевой системе.
Важно: в этой инструкции используется пример с релизом go1.16.5. По возможности проверяйте на официальном сайте актуальную версию.
Требования
- Сервер с Ubuntu 20.04.
- Права root или sudo для установки в системные каталоги.
Установка Go
- Скачайте архив с официального сайта. В примере используется версия 1.16.5:
wget https://golang.org/dl/go1.16.5.linux-amd64.tar.gz- Если у вас уже установлен Go в /usr/local/go, удалите старую версию перед распаковкой:
sudo rm -rf /usr/local/go- Распакуйте архив в /usr/local:
tar -xzf go1.16.5.linux-amd64.tar.gz -C /usr/local/- Добавьте Go в системный PATH. Откройте /etc/profile для системной установки или ~/.profile для локального пользователя:
sudo nano /etc/profileДобавьте в конец файла строку:
export PATH=$PATH:/usr/local/go/binСохраните и выйдите, затем примените изменение:
source /etc/profileАльтернатива: можно добавить строку в ~/.profile или ~/.bashrc если хотите, чтобы PATH был доступен только для конкретного пользователя.
- Проверьте версию Go:
go versionОжидаемый вывод в этом примере:
go version go1.16.5 linux/amd64Если команда не найдена, проверьте правильность пути и перезапустите терминал.
Как использовать Go — тестовый пример
- Создайте каталог для проекта:
mkdir hello- Создайте файл hello.go:
nano hello/hello.goВставьте код:
package main
import "fmt"
func main() {
fmt.Printf("Hello, World\n")
}- Создайте файл модуля go.mod:
nano hello/go.modДобавьте строку:
module example.com/mod- Перейдите в каталог и соберите приложение:
cd hello
go buildСборка создаст исполняемый файл. В примере имя бинарника совпадает с именем каталога модуля или именем пакета. Запустите его:
./modОжидаемый вывод:
Hello, World!Если при запуске вы видите Permission denied, убедитесь, что файл исполняемый: chmod +x ./mod.
Альтернативные способы установки
- Установка из репозиториев Ubuntu (быстро, но может быть устаревшей):
sudo apt update
sudo apt install golang-go- Snap-пакеты (удобно для изолированных установок):
sudo snap install go --classicПлюсы/минусы: архив с официального сайта даёт контроль над версией и путь установки, пакеты дистрибутива проще устанавливать и обновлять через apt, но версии могут запаздывать.
Отладка и распространённые ошибки
- PATH не обновлён: после правки /etc/profile выполните
source /etc/profileили перезайдите в сессию. - Старые файлы в /usr/local/go мешают — удалите их перед новой распаковкой.
- Ошибка сборки модуля: проверьте корректность go.mod и имя модуля. Запустите
go envдля диагностики среды. - Если
go buildсоздаёт бинарник с неожиданным именем, откройте go.mod и проверьте module и пакет.
Критерии приёмки
- Команда
go versionвозвращает версию Go. - Сборка тестового примера завершается без ошибок.
- Запуск исполняемого файла выводит “Hello, World!”.
Роль‑ориентированный чеклист
Для разработчика:
- Установлен Go и PATH.
- Настроен go.mod для проекта.
- Тестовая сборка и запуск выполнены.
Для администратора:
- Go установлен в /usr/local/go.
- Права на каталоги соответствуют политике безопасности.
- Документированы шаги обновления и отката.
Для DevOps:
- Образ контейнера либо VM содержит нужную версию Go.
- CI/CD умеет собирать приложение без вмешательства.
Факт‑бокс
- Пример установленной версии: go1.16.5.
- Каталог установки по умолчанию при ручной установке: /usr/local/go.
- По умолчанию GOPATH = $HOME/go если не задан явно.
Безопасность и обновления
- Проверяйте контрольные суммы и подписи релизов на официальном сайте при загрузке.
- Обновляйте Go в тестовой среде перед продакшеном.
- Минимизируйте права на каталоги установки:
/usr/local/goне должен быть доступен для записи обычным пользователям.
Когда этот метод не подходит
- Если вы управляете множеством сред с разными версиями Go, имеет смысл использовать менеджер версий (например, gvm, asdf) или контейнеры.
- Для быстро устаревающих версий пакетов удобнее CI с явной версией компилятора.
Краткая сводка
Вы установили Go на Ubuntu 20.04, настроили PATH и проверили работу компилятора простым примером. Теперь можете создавать и собирать приложения на Go. Для подробностей и последних релизов смотрите официальную документацию Go.
Важно: всегда проверяйте актуальные релизы на https://golang.org/dl/ и при необходимости адаптируйте инструкции под вашу среду.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента