Menu

Установка Golang на Windows, macOS и Linux: пошагово

Как скачать и установить Go на Windows, macOS и Linux, проверить установку командой go version, разобраться с GOPATH и исправить ошибку «go: command not found».

На этой странице есть исполняемые редакторы: меняйте, запускайте и сразу видите результат.

Скачайте Go с go.dev/dl, запустите установщик для своей системы, откройте новый терминал и выполните go version. На Windows и macOS это вся установка. На Linux нужно распаковать архив и добавить одну папку в PATH. Ниже разобрана каждая система, затем проверки и ошибки, с которыми реально сталкиваются.

Чтобы попробовать Go, устанавливать его не обязательно. Эта программа запускается в браузере на той же версии Go, что использует сайт, и сообщает, на чём она работает:

Когда Go будет установлен локально, та же программа выведет данные вашей машины.

Какой файл скачать

На странице загрузки для каждой операционной системы и архитектуры процессора свой файл:

СистемаФайлПримечания
Windows, большинство ПКgo1.24.5.windows-amd64.msiamd64 означает 64-битный Intel или AMD
Windows на ARMgo1.24.5.windows-arm64.msiSurface Pro X, ноутбуки на Snapdragon
macOS, Apple Silicon (M1 и новее)go1.24.5.darwin-arm64.pkgdarwin это macOS
macOS, Intelgo1.24.5.darwin-amd64.pkg
Linux, большинство серверов и ПКgo1.24.5.linux-amd64.tar.gz
Linux на ARMgo1.24.5.linux-arm64.tar.gzRaspberry Pi 4 и 5 с 64-битной ОС, AWS Graviton

В примерах указана версия 1.24.5. Берите самый свежий стабильный релиз: шаги от версии к версии не меняются.

Установка Go на Windows

  1. Скачайте файл .msi и запустите его.
  2. Оставьте настройки по умолчанию. Go установится в C:\Program Files\Go, а установщик добавит C:\Program Files\Go\bin в PATH.
  3. Закройте все открытые окна Command Prompt и PowerShell и откройте новое. В терминалах, которые были открыты во время установки, остался старый PATH.
  4. Проверьте установку:
go version
go version go1.24.5 windows/amd64

Если вам удобнее пакетный менеджер, подойдёт и winget:

winget install GoLang.Go

Установка Go на macOS

Через официальный пакет

Скачайте .pkg для своего процессора и откройте его. Он установит Go в /usr/local/go и добавит /usr/local/go/bin в PATH через файл /etc/paths.d/go. Откройте новое окно Terminal и выполните:

go version
go version go1.24.5 darwin/arm64

Через Homebrew

brew install go
go version

Homebrew кладёт Go в свой префикс (/opt/homebrew на Apple Silicon) и создаёт ссылку на go в папке, которая уже есть в PATH. Обновить потом можно командой brew upgrade go.

Выберите один способ. Если стоят и .pkg, и Homebrew, в PATH окажутся два бинарника go, и победит тот, что идёт первым. which go покажет, какой из них использует оболочка.

Установка Go на Linux и Ubuntu

Официальный способ работает в любом дистрибутиве. Сначала удалите предыдущую установку: если распаковать архив поверх старого дерева, файлы двух версий перемешаются и тулчейн сломается:

cd ~/Downloads
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.24.5.linux-amd64.tar.gz

Затем добавьте Go в PATH. Допишите эту строку в ~/.profile (bash) или ~/.zshrc (zsh):

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

Загрузите её в текущую оболочку и проверьте:

source ~/.profile
go version
go version go1.24.5 linux/amd64

Пакеты Ubuntu: apt и snap

В Ubuntu есть два коротких пути, и у каждого свои компромиссы:

# Distribution package: easy, but usually several releases old
sudo apt install golang-go

# Snap: tracks current Go releases
sudo snap install go --classic

Версия из apt важнее, чем кажется. Модули указывают минимальную версию Go в go.mod. Начиная с Go 1.21 модуль с go 1.23 не соберётся более старым тулчейном, если Go не сможет скачать для вас новый, а тулчейны старше 1.21 всё равно пытаются собрать код и падают на первой же новой возможности (см. «Как обновлять Go» ниже). Если ставите Go из apt, выполните go version и сравните с go.dev/dl.

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

Рабочую установку подтверждают три команды:

go version
go env GOROOT GOPATH
which go
go version go1.24.5 linux/amd64
/usr/local/go
/home/ana/go
/usr/local/go/bin/go
  • GOROOT это папка, куда установлен сам Go. Никогда не кладите туда свой код; задавать эту переменную вам не нужно.
  • GOPATH по умолчанию равен $HOME/go (%USERPROFILE%\go на Windows). Go хранит загруженные модули в $GOPATH/pkg/mod, а программы, собранные go install, кладёт в $GOPATH/bin.
  • which go (where go на Windows) показывает, какой именно бинарник запускает оболочка. Пользуйтесь этой командой каждый раз, когда go version сообщает неожиданную версию.

Запуск первой программы

Код может лежать в любой папке. Создайте папку, инициализируйте модуль и напишите файл:

mkdir hello
cd hello
go mod init example.com/hello
go: creating new go.mod: module example.com/hello

Сохраните это как main.go в той же папке:

Затем запустите:

go run .
Go is installed and working.

go run . компилирует пакет в текущей папке и запускает его. Каждая строка программы разобрана на странице hello world, а шаг go mod init описан в разделе про модули Go.

Добавьте GOPATH/bin в PATH

Утилиты, установленные через go install, попадают в $HOME/go/bin, а этой папки по умолчанию нет в PATH. Если вы установили утилиту, а оболочка её не находит, добавьте и эту папку:

go install golang.org/x/tools/cmd/goimports@latest
export PATH=$PATH:$(go env GOPATH)/bin
goimports -h

Запишите строку с export в ~/.profile или ~/.zshrc, чтобы она работала и в новых терминалах. На Windows установщик уже добавляет %USERPROFILE%\go\bin в пользовательский PATH.

Как обновлять Go

Чтобы обновиться, установите новый релиз тем же способом, каким ставили старый. На Linux это значит повторить шаги rm -rf /usr/local/go и tar; удаление не пропускайте.

Начиная с Go 1.21 команда go умеет сама скачивать более новый тулчейн. Если в go.mod модуля написано go 1.24, а у вас установлен Go 1.22, go build скачает Go 1.24 в кеш модулей и соберёт им, если GOTOOLCHAIN оставлен в значении по умолчанию auto. Установленный Go при этом не меняется; новым релизом собирается только этот модуль.

Чтобы держать старую версию для тестов, установите её рядом:

go install golang.org/dl/go1.23.4@latest
go1.23.4 download
go1.23.4 version

Частые ошибки установки

go: command not found или zsh: command not found: go. Оболочка не находит бинарник. На Linux проверьте, что /usr/local/go/bin есть в строке export PATH того файла, который ваша оболочка реально читает (~/.zshrc для zsh, ~/.profile или ~/.bashrc для bash), и откройте новый терминал. echo $PATH покажет, что видит оболочка.

'go' is not recognized as an internal or external command (Windows). Закройте и снова откройте терминал. Если не помогло, откройте «Изменение системных переменных среды», нажмите «Переменные среды» и убедитесь, что C:\Program Files\Go\bin есть в Path. Встроенный терминал VS Code наследует окружение, с которым был запущен VS Code, поэтому перезапустите и его.

go version после обновления показывает старую версию. В PATH две установки. Выполните which -a go (или where go на Windows) и удалите лишнюю; часто это пакет apt в /usr/bin/go, который перекрывает /usr/local/go/bin/go.

go: go.mod file not found in current directory or any parent directory. Go установлен правильно; вы запустили go build или go run . вне модуля. Сначала выполните go mod init example.com/yourname в папке проекта.

Странные ошибки компиляции в стандартной библиотеке после обновления на Linux. Новый архив распаковали поверх старого дерева. Удалите /usr/local/go целиком и распакуйте заново.

Permission denied при распаковке. Владелец /usr/local это root, поэтому команды rm и tar нужно запускать через sudo. Для вашего собственного кода sudo не нужен никогда.

Настройка редактора

Подойдёт любой редактор, но поставьте поддержку Go, чтобы получить автодополнение, подсветку ошибок и форматирование при сохранении. В VS Code установите официальное расширение Go (его выпускает команда Go в Google); при первом открытии файла .go оно предложит установить gopls, языковой сервер Go. Основной коммерческий вариант это GoLand от JetBrains. Vim и Neovim работают с gopls через свои LSP-клиенты.

Часто задаваемые вопросы

Как установить Golang?

Скачайте установщик для своей системы с go.dev/dl. На Windows запустите .msi, на macOS запустите .pkg (или brew install go), а на Linux распакуйте архив в /usr/local и добавьте /usr/local/go/bin в PATH. Откройте новый терминал и выполните go version, чтобы проверить.

Как исправить ошибку «go: command not found»?

Оболочка не находит бинарник go в PATH. На Linux добавьте export PATH=$PATH:/usr/local/go/bin в ~/.profile (или в ~/.zshrc для zsh) и откройте новый терминал. После установщиков на Windows и macOS обычно достаточно закрыть терминал и открыть заново, потому что терминал хранит тот PATH, с которым он был запущен.

Как установить Go на Ubuntu?

Используйте официальный архив: sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.24.5.linux-amd64.tar.gz, затем добавьте /usr/local/go/bin в PATH. sudo apt install golang-go тоже работает, но пакет Ubuntu часто отстаёт на несколько релизов. sudo snap install go --classic следует за актуальными релизами.

Нужно ли настраивать GOPATH?

Нет. Начиная с Go 1.16 режим модулей включён по умолчанию, поэтому код может лежать в любой папке. GOPATH по умолчанию равен $HOME/go и используется только для кеша загруженных модулей и для бинарников, которые собирает go install: они попадают в $HOME/go/bin.

Как узнать, какая версия Go установлена?

Выполните go version. Команда выведет что-то вроде go version go1.24.5 linux/amd64: номер релиза, затем операционную систему и архитектуру процессора. go env показывает всю конфигурацию, включая GOROOT (куда установлен Go) и GOPATH.

Coddy programming languages illustration

Учитесь программировать с Coddy

НАЧАТЬ